将数字转换成大写的人民币表达式的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自动生成对象的属性示例代码
Oct 28 Javascript
js日期、星座的级联显示代码
Jan 23 Javascript
JS实现让访问者自助选择网页文字颜色的方法
Feb 24 Javascript
EasyUI中combobox默认值注意事项
Mar 01 Javascript
Bootstrap选项卡与Masonry插件的完美结合
Jul 06 Javascript
引用jquery框架后出错的解决方法
Aug 09 Javascript
js两种拼接字符串的简单方法(必看)
Sep 02 Javascript
Node.js包管理器Yarn的入门介绍与安装
Oct 17 Javascript
BootStrap实现带有增删改查功能的表格(DEMO详解)
Oct 26 Javascript
vue项目中使用axios上传图片等文件操作
Nov 02 Javascript
JS中如何轻松遍历对象属性的方式总结
Aug 06 Javascript
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
Jun 09 Vue.js
判断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
附件名前加网站名
2008/03/23 PHP
PHP base64+gzinflate压缩编码和解码代码
2008/10/03 PHP
PHPwind整合最土系统用户同步登录实现方法
2010/12/08 PHP
PHP 安全检测代码片段(分享)
2013/07/05 PHP
PHP生成树的方法
2015/07/28 PHP
JS+CSS实现自适应选项卡宽度的圆角滑动门效果
2015/09/15 Javascript
基于jQuery倒计时插件实现团购秒杀效果
2016/05/13 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
详解使用vue实现tab 切换操作
2017/07/03 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
vue中子组件的methods中获取到props中的值方法
2018/08/27 Javascript
vue.js多页面开发环境搭建过程
2019/04/24 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
回调函数的意义以及python实现实例
2017/06/20 Python
python 实现在tkinter中动态显示label图片的方法
2019/06/13 Python
Django REST framework 分页的实现代码
2019/06/19 Python
用python拟合等角螺线的实现示例
2019/12/27 Python
Python argparse模块使用方法解析
2020/02/20 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
浅谈python量化 双均线策略(金叉死叉)
2020/06/03 Python
利用python清除移动硬盘中的临时文件
2020/10/28 Python
如何创建一个Flask项目并进行简单配置
2020/11/18 Python
python 实现性别识别
2020/11/21 Python
Django解决frame拒绝问题的方法
2020/12/18 Python
canvas拼图功能实现代码示例
2018/11/21 HTML / CSS
Marks & Spencer爱尔兰:英国马莎百货
2016/04/20 全球购物
windeln官方海外旗舰店:德淘超人气母婴超市
2017/12/15 全球购物
Nike挪威官网:Nike.com (NO)
2018/11/26 全球购物
Zalando Lounge瑞士:时尚与生活方式购物俱乐部
2020/03/12 全球购物
迪士尼法国在线商店:shopDisney FR
2020/12/03 全球购物
高中社区服务活动报告
2015/02/05 职场文书
检讨书怎么写
2015/05/07 职场文书
追讨欠款律师函
2015/05/27 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
简述python四种分词工具,盘点哪个更好用?
2021/04/13 Python
python字典进行运算原理及实例分享
2021/08/02 Python