首页 > 其他分享 >js将数字金额转换为大写汉字金额

js将数字金额转换为大写汉字金额

时间:2024-09-03 13:47:14浏览次数:8  
标签:10 floor 金额 大写 replace unit var js Math

 function smalltoBIG(n) {
      var fraction = ['角', '分'];
      var digit = ['零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖'];
      var unit = [
        ['元', '万', '亿'],
        ['', '拾', '佰', '仟']
      ];
      var head = n < 0 ? '欠' : '';
      n = Math.abs(n);

      var s = '';

      for (var i = 0; i < fraction.length; i++) {
        s += (digit[Math.floor(n * 10 * Math.pow(10, i)) % 10] + fraction[i]).replace(/零./, '');
      }
      s = s || '整';
      n = Math.floor(n);

      for (var i = 0; i < unit[0].length && n > 0; i++) {
        var p = '';
        for (var j = 0; j < unit[1].length && n > 0; j++) {
          p = digit[n % 10] + unit[1][j] + p;
          n = Math.floor(n / 10);
        }
        s = p.replace(/(零.)*零$/, '').replace(/^$/, '零') + unit[0][i] + s;
      }
      return head + s.replace(/(零.)*零元/, '元').replace(/(零.)+/g, '零').replace(/^整$/, '零元整');
    }

 

标签:10,floor,金额,大写,replace,unit,var,js,Math
From: https://www.cnblogs.com/wjs2019/p/18394405

相关文章

  • 【NodeJs】使用ffmpeg将其他的视频格式都转换为mp4格式
    由于MP4是兼容性最好的视频格式,尤其是在跨浏览器支持方面。为了确保最大程度的兼容性,将客服端上传的视频文件都转换为MP4,下面就分享在nodejs中使用ffmpeg将视频文件转换为MP4格式的方法。1.电脑安装ffmpegffmpeg是什么呢,一个免费开源的视频转换工具一款音视频编解码工具一......
  • 使用 niljson 处理 Go 语言中 JSON 的空值类型
    使用niljson处理Go语言中JSON的空值类型原创 源自开发者 源自开发者  2024年09月03日11:43 广东 听全文源自开发者专注于提供关于Go语言的实用教程、案例分析、最新趋势,以及云原生技术的深度解析和实践经验分享。321篇原创内容公众号在使用G......
  • 【Python技术学习】- python JSON 数据解析
    JSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式。Python3中可以使用json模块来对JSON数据进行编解码,它包含了两个函数:json.dumps(): 对数据进行编码。json.loads(): 对数据进行解码。在json的编解码过程中,Python的原始类型与json类型会相互......
  • ssm基于web的马病管理系统设计与实现+jsp
    文章目录目录文章目录论文目录项目介绍开发环境系统实现论文参考论文目录摘   要Abstract目   录第一章 课题背景及研究内容1.1课题背景1.2开发目的和意义1.3论文研究内容第二章 相关技术2.1 B/S结构2.2MySQL数据库第三章系统......
  • 计算机毕设项目:物流配送系统 004(免费领取项目源码+数据库+文档)NODE.JS开发语言,springb
    摘 要科技进步的飞速发展引起人们日常生活的巨大变化,电子信息技术的飞速发展使得电子信息技术的各个领域的应用水平得到普及和应用。信息时代的到来已成为不可阻挡的时尚潮流,人类发展的历史正进入一个新时代。在现实运用中,应用软件的工作规则和开发步骤,采用Node.js技术建设......
  • Vue3+NestJS+Vite4+TS4+Mysql8+Nginx全栈开发企业级管理后台
    vite打包快的原因:冷启动1.esbuild构建依赖,go语言编写多线程打包。2.原生的esm方式提供源码,浏览器分担了一部分工作。HMR热更新1.缓存机制,利用浏览器http头部,源码模块请求根据304协商缓存和依赖模块请求通过强缓存(cache-control:max-age=315360000,public,immutable)只是模块......
  • MySQL 允许你在 JSON 数据上创建索引
    MySQL允许你在JSON数据上创建索引测试用例CREATETABLE`student`(`id`intNOTNULLAUTO_INCREMENT,`name`varchar(255)DEFAULTNULL,`age`intDEFAULTNULL,`courses`jsonDEFAULTNULL,`address`jsonDEFAULTNULL,PRIMARYKEY(`id`))ENGINE=Inn......
  • 第八章 【前端】Mock.js(8.2)——数据模板定义规范 DTD
    8.2数据模板定义规范DTD数据模板中的每个属性由3部分构成:属性名、生成规则、属性值://'属性名|生成规则':属性值'name|rule':value属性名和生成规则之间用竖线|分隔。生成规则是可选的,生成规则有7种格式:‘name|min-max’:value‘name|count’:value......
  • 第八章 【前端】Mock.js(8.3)——数据占位符定义规范 DPD
    8.3数据占位符定义规范DPDMock.Random是一个工具类,用于生成各种随机数据。Mock.Random类中的方法在数据模板中称为『占位符』,书写格式为@占位符(参数[,参数])。占位符的格式为:'属性名':@占位符Mock.Random类中提供的完整方法(占位符)如下:Type(类型)Method(占......
  • js转码方法
    项目开发传参时会遇到用汉字或者特殊字符当做参数值的情况,这时需要转码一下才能正常传参,不然会因为不支持汉字而报错转码方法共有三种:escape()encodeURI()encodeURIComponent()前两种不过多讨论,因为encodeURIComponent()能够正确处理更多的特殊字符,并确保整个URI都得到正......