将数字转换成大写的人民币表达式的js函数


Posted in Javascript onSeptember 21, 2014

将数字转换成大写的人民币,方法有很多,本例介绍的是使用js来完成的,看看下面的实现代码

function changeNumMoneyToChinese(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) {
    alert('超出最大处理数字');
    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 相关文章推荐
js 事件小结 表格区别
Aug 13 Javascript
为jQuery增加join方法的实现代码
Nov 28 Javascript
利用JQuery制作符合Web标准的QQ弹出消息
Jan 14 Javascript
javascript事件冒泡和事件捕获详解
May 26 Javascript
在JavaScript中操作数组之map()方法的使用
Jun 09 Javascript
jQuery中(function($){})(jQuery)详解
Jul 15 Javascript
详解javascript实现瀑布流绝对式布局
Jan 29 Javascript
JavaScript兼容性总结之获取非行间样式案例
Aug 07 Javascript
利用fecha进行JS日期处理
Nov 21 Javascript
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
vue配置多页面的实现方法
May 22 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
判断window.onload是否多次使用的方法
Sep 21 #Javascript
使用JavaScript进行进制转换将字符串转换为十进制
Sep 21 #Javascript
JS实现清除指定cookies的方法
Sep 20 #Javascript
JS合并数组的几种方法及优劣比较
Sep 19 #Javascript
JS实现的用来对比两个用指定分隔符分割的字符串是否相同
Sep 19 #Javascript
js用Date对象的setDate()函数对日期进行加减操作
Sep 18 #Javascript
JS应用正则表达式转换大小写示例
Sep 18 #Javascript
You might like
PHP和JAVA中的重载(overload)和覆盖(override) 介绍
2012/03/01 PHP
php正则表达式使用的详细介绍
2013/04/27 PHP
解析php根据ip查询所在地区(非常有用,赶集网就用到)
2013/07/01 PHP
PHP生成等比缩略图类和自定义函数分享
2014/06/25 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
菜单效果
2006/10/14 Javascript
jQuery 前的按键判断代码
2010/03/19 Javascript
Jquery刷新页面背景图片随机变换的实现方法
2013/03/15 Javascript
解析JavaScript中点号“.”的多义性
2013/12/02 Javascript
贴近用户体验的Jquery日期、时间选择插件
2015/08/19 Javascript
原生JS:Date对象全面解析
2016/09/06 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
React props和state属性的具体使用方法
2018/04/12 Javascript
vue中音频wavesurfer.js的使用方法
2020/02/20 Vue.js
JS 创建对象的模式实例小结
2020/04/28 Javascript
Nuxt 项目性能优化调研分析
2020/11/07 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
[09:43]DOTA2每周TOP10 精彩击杀集锦vol.5
2014/06/25 DOTA
[42:32]完美世界DOTA2联赛循环赛 Magma vs PXG BO2第二场 10.28
2020/10/28 DOTA
Python文件操作类操作实例详解
2014/07/11 Python
python基于queue和threading实现多线程下载实例
2014/10/08 Python
python自定义解析简单xml格式文件的方法
2015/05/11 Python
PyQt5每天必学之关闭窗口
2018/04/19 Python
python去除拼音声调字母,替换为字母的方法
2018/11/28 Python
Python依赖包整体迁移方法详解
2019/08/15 Python
python 遍历pd.Series的index和value
2019/11/26 Python
Win下PyInstaller 安装和使用教程
2019/12/25 Python
Django filter动态过滤与排序实现过程解析
2020/11/26 Python
HTML5实现可缩放时钟代码
2017/08/28 HTML / CSS
JACK & JONES瑞典官方网站:杰克琼斯欧式风格男装
2017/12/23 全球购物
2014年小学元旦活动方案
2014/02/12 职场文书
大专生找工作自荐书
2014/06/10 职场文书
物联网工程专业推荐信
2014/09/08 职场文书
2015年护理工作总结范文
2015/04/03 职场文书
2015年村计划生育工作总结
2015/04/28 职场文书
sql注入教程之类型以及提交注入
2021/08/02 MySQL