将数字转换成大写的人民币表达式的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调用webService远程访问出错的解决方法
May 21 Javascript
JS 精确统计网站访问量的实例代码
Jul 05 Javascript
Jquery Ajax解析XML数据(同步及异步调用)简单实例
Feb 12 Javascript
标题过长使用javascript按字节截取字符串
Apr 24 Javascript
JS中完美兼容各大浏览器的scrolltop方法
Apr 17 Javascript
简单理解JavaScript中的封装与继承特性
Mar 19 Javascript
JavaScript事件详细讲解
Jun 27 Javascript
详解webpack的配置文件entry与output
Aug 21 Javascript
hammer.js实现图片手势放大效果
Aug 29 Javascript
Mac中安装nvm的教程分享
Dec 11 Javascript
Javascript实现秒表倒计时功能
Nov 17 Javascript
详解axios中封装使用、拦截特定请求、判断所有请求加载完毕)
Apr 09 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
杏林同学录(三)
2006/10/09 PHP
通过Email发送PHP错误的方法
2015/07/20 PHP
PHP中file_exists使用中遇到的问题小结
2016/04/05 PHP
php取出数组单个值的方法
2018/03/12 PHP
学习ExtJS table布局
2009/10/08 Javascript
在JavaScript中对HTML进行反转义详解
2016/05/18 Javascript
js验证真实姓名与身份证号,手机号的简单实例
2016/07/18 Javascript
JS简单实现仿百度控制台输出信息效果
2016/09/04 Javascript
JS实现表单验证功能(验证手机号是否存在,验证码倒计时)
2016/10/11 Javascript
原生JS实现自定义滚动条效果
2020/10/27 Javascript
Form表单上传文件(type=&quot;file&quot;)的使用
2017/08/03 Javascript
vue引入js数字小键盘的实现代码
2018/05/14 Javascript
微信小程序倒计时功能实例代码
2018/07/17 Javascript
vue.draggable实现表格拖拽排序效果
2018/12/01 Javascript
浅谈Vue的响应式原理
2019/05/30 Javascript
JQuery+Bootstrap 自定义全屏Loading插件的示例demo
2019/07/03 jQuery
vue 页面回退mounted函数不执行的解决方案
2020/07/26 Javascript
vue3.0 加载json的方法(非ajax)
2020/10/26 Javascript
Vant 中的Toast设置全局的延迟时间操作
2020/11/04 Javascript
python中文编码问题小结
2014/09/28 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
Python面向对象封装操作案例详解
2019/12/31 Python
如何使用selenium和requests组合实现登录页面
2020/02/03 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
PIL包中Image模块的convert()函数的具体使用
2020/02/26 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
Python eval函数原理及用法解析
2020/11/14 Python
Canvas与图片压缩的示例代码
2017/11/28 HTML / CSS
美国隐形眼镜网上商店:Lens.com
2019/09/03 全球购物
新闻专业本科生的自我评价分享
2013/11/20 职场文书
争先创优心得体会
2014/09/12 职场文书
汽车销售员岗位职责
2015/04/11 职场文书
社会心理学学习心得体会
2016/01/22 职场文书
《小蝌蚪找妈妈》教学反思
2016/02/23 职场文书