将数字转换成大写的人民币表达式的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 相关文章推荐
jQuery select表单提交省市区城市三级联动核心代码
Jun 09 Javascript
jquery和css3实现的炫酷时尚的菜单导航
Sep 01 Javascript
node.js中的querystring.escape方法使用说明
Dec 10 Javascript
jQuery使用addClass()方法给元素添加多个class样式
Mar 26 Javascript
jquery实现表格中点击相应行变色功能效果【实例代码】
May 09 Javascript
footer定位页面底部(代码分享)
Mar 07 Javascript
Google 爬虫如何抓取 JavaScript 的内容
Apr 07 Javascript
jQuery UI Draggable + Sortable 结合使用(实例讲解)
Sep 07 jQuery
vue .js绑定checkbox并获取、改变选中状态的实例
Aug 24 Javascript
详解微信小程序之一键复制到剪切板
Apr 24 Javascript
微信小程序云开发修改云数据库中的数据方法
May 18 Javascript
JavaScript中10个Reduce常用场景技巧
Jun 21 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简单封装了一些常用JS操作
2007/02/25 PHP
php+html5使用FormData对象提交表单及上传图片的方法
2015/02/11 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
PHP实现限制IP访问及提交次数的方法详解
2017/07/17 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
文本框获得焦点和失去焦点的判断代码
2012/03/18 Javascript
查找页面中所有类为test的结点的方法
2014/03/28 Javascript
Javascript中call与apply的学习笔记
2014/09/22 Javascript
JavaScript开发者必备的10个Sublime Text插件
2016/02/27 Javascript
Jquery实现的简单轮播效果【附实例】
2016/04/19 Javascript
JS图片等比例缩放方法完整示例
2016/08/03 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
jquery表单插件form使用方法详解
2017/01/20 Javascript
jQuery实现复制到粘贴板功能
2017/02/11 Javascript
JS检测是否可以访问公网服务器功能代码
2017/06/19 Javascript
js模块加载方式浅析
2017/08/12 Javascript
React如何利用相对于根目录进行引用组件详解
2017/10/09 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
如何使用vue slot创建一个模态框的实例代码
2020/05/24 Javascript
vuex管理状态仓库使用详解
2020/07/29 Javascript
vue修改Element的el-table样式的4种方法
2020/09/17 Javascript
[01:01:14]完美世界DOTA2联赛PWL S2 SZ vs Rebirth 第一场 11.21
2020/11/23 DOTA
使用apidoc管理RESTful风格Flask项目接口文档方法
2018/02/07 Python
Python字符串逆序的实现方法【一题多解】
2019/02/18 Python
python函数与方法的区别总结
2019/06/23 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
python对指定字符串逆序的6种方法(小结)
2020/04/02 Python
Python Django中间件使用原理及流程分析
2020/06/13 Python
英国助听器购物网站:Hearing Direct
2018/08/21 全球购物
怎样创建、运行java程序
2014/08/01 面试题
标准毕业生自荐信范文
2013/11/04 职场文书
商务经理岗位职责
2014/07/30 职场文书
PyTorch 如何自动计算梯度
2021/05/23 Python
修改并编译golang源码的操作步骤
2021/07/25 Golang