JS实现将数字金额转换为大写人民币汉字的方法


Posted in Javascript onAugust 02, 2016

本文实例讲述了JS实现将数字金额转换为大写人民币汉字的方法。分享给大家供大家参考,具体如下:

//代码如下所示:
function convertCurrency(money) {
  //汉字的数字
  var cnNums = new Array('零', '壹', '贰', '叁', '肆', '伍', '陆', '柒', '捌', '玖');
  //基本单位
  var cnIntRadice = new Array('', '拾', '佰', '仟');
  //对应整数部分扩展单位
  var cnIntUnits = new Array('', '万', '亿', '兆');
  //对应小数部分单位
  var cnDecUnits = new Array('角', '分', '毫', '厘');
  //整数金额时后面跟的字符
  var cnInteger = '整';
  //整型完以后的单位
  var cnIntLast = '元';
  //最大处理的数字
  var maxNum = 999999999999999.9999;
  //金额整数部分
  var integerNum;
  //金额小数部分
  var decimalNum;
  //输出的中文金额字符串
  var chineseStr = '';
  //分离金额后用的数组,预定义
  var parts;
  if (money == '') { return ''; }
  money = parseFloat(money);
  if (money >= maxNum) {
    //超出最大处理数字
    return '';
  }
  if (money == 0) {
    chineseStr = cnNums[0] + cnIntLast + cnInteger;
    return chineseStr;
  }
  //转换为字符串
  money = money.toString();
  if (money.indexOf('.') == -1) {
    integerNum = money;
    decimalNum = '';
  } else {
    parts = money.split('.');
    integerNum = parts[0];
    decimalNum = parts[1].substr(0, 4);
  }
  //获取整型部分转换
  if (parseInt(integerNum, 10) > 0) {
    var zeroCount = 0;
    var IntLen = integerNum.length;
    for (var i = 0; i < IntLen; i++) {
      var n = integerNum.substr(i, 1);
      var p = IntLen - i - 1;
      var q = p / 4;
      var m = p % 4;
      if (n == '0') {
        zeroCount++;
      } else {
        if (zeroCount > 0) {
          chineseStr += cnNums[0];
        }
        //归零
        zeroCount = 0;
        chineseStr += cnNums[parseInt(n)] + cnIntRadice[m];
      }
      if (m == 0 && zeroCount < 4) {
        chineseStr += cnIntUnits[q];
      }
    }
    chineseStr += cnIntLast;
  }
  //小数部分
  if (decimalNum != '') {
    var decLen = decimalNum.length;
    for (var i = 0; i < decLen; i++) {
      var n = decimalNum.substr(i, 1);
      if (n != '0') {
        chineseStr += cnNums[Number(n)] + cnDecUnits[i];
      }
    }
  }
  if (chineseStr == '') {
    chineseStr += cnNums[0] + cnIntLast + cnInteger;
  } else if (decimalNum == '') {
    chineseStr += cnInteger;
  }
  return chineseStr;
}
Javascript 相关文章推荐
javascript函数库-集合框架
Apr 27 Javascript
Use Word to Search for Files
Jun 15 Javascript
利用javascript/jquery对上传文件格式过滤的方法
Jul 25 Javascript
百度地图api应用标注地理位置信息(js版)
Feb 01 Javascript
jquery实现手风琴效果实例代码
Nov 15 Javascript
jQuery在ul中显示某个li索引号的方法
Mar 17 Javascript
Jquery 全选反选实例代码
Nov 19 Javascript
JavaScript高仿支付宝倒计时页面及代码实现
Oct 21 Javascript
JS简单实现点击跳转登陆邮箱功能的方法
Oct 31 Javascript
laydate日历控件使用方法详解
Nov 20 Javascript
一步步教你利用Docker设置Node.js
Nov 20 Javascript
json数据格式常见操作示例
Jun 13 Javascript
AngularJS基础 ng-model-options 指令简单示例
Aug 02 #Javascript
jQuery树形控件zTree使用小结
Aug 02 #Javascript
jquery 判断selection range 是否在容器中的简单实例
Aug 02 #Javascript
AngularJS基础 ng-model 指令详解及示例代码
Aug 02 #Javascript
JS获取input file绝对路径的方法(推荐)
Aug 02 #Javascript
JavaScript实现复制文章自动添加版权
Aug 02 #Javascript
js获取上传文件的绝对路径实现方法
Aug 02 #Javascript
You might like
获取php页面执行时间,数据库读写次数,函数调用次数等(THINKphp)
2013/06/03 PHP
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
PHP文件操作方法汇总
2015/07/01 PHP
PHP实现微信网页授权开发教程
2016/01/19 PHP
php实现通过stomp协议连接ActiveMQ操作示例
2020/02/23 PHP
javascript dom 基本操作小结
2010/04/11 Javascript
Jquery动态改变图片IMG的src地址示例
2013/06/25 Javascript
node.js中的Socket.IO使用实例
2014/11/04 Javascript
深入探秘jquery瀑布流的实现
2016/01/30 Javascript
微信小程序 本地图片按照屏幕尺寸处理
2017/08/04 Javascript
JS库之Particles.js中文开发手册及参数详解
2017/09/13 Javascript
vue2.0 兄弟组件(平级)通讯的实现代码
2018/01/15 Javascript
详解如何在vue项目中使用eslint+prettier格式化代码
2018/11/10 Javascript
wx-charts 微信小程序图表插件的具体使用
2019/08/18 Javascript
vue自定义switch开关组件,实现样式可自行更改
2019/11/01 Javascript
jquery实现进度条状态展示
2020/03/26 jQuery
Python随机生成信用卡卡号的实现方法
2015/05/14 Python
python实现批量改文件名称的方法
2015/05/25 Python
Python快速从注释生成文档的方法
2016/12/26 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
Python流行ORM框架sqlalchemy安装与使用教程
2019/06/04 Python
python为Django项目上的每个应用程序创建不同的自定义404页面(最佳答案)
2020/03/09 Python
Python实现清理微信僵尸粉功能示例【基于itchat模块】
2020/05/29 Python
英国奢侈品概念店:Base Blu
2019/05/16 全球购物
Scotch Porter官方网站:男士美容产品
2020/08/31 全球购物
开水果连锁店创业计划书
2013/12/29 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
健康家庭事迹材料
2014/05/02 职场文书
中共广东省委常委会党的群众路线教育实践活动整改方案
2014/09/23 职场文书
论群众路线学习笔记
2014/11/06 职场文书
2014年医院工作总结
2014/11/20 职场文书
自荐信格式范文
2015/03/04 职场文书
文艺晚会开场白
2015/05/29 职场文书
自考生自我评价
2019/06/21 职场文书
读《茶花女》有感:山茶花的盛开与凋零
2020/01/17 职场文书
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS