将数字转换成大写的人民币表达式的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 相关文章推荐
11款基于Javascript的文件管理器
Oct 25 Javascript
详解JavaScript编程中的数组结构
Oct 24 Javascript
Jquery操作Ajax方法小结
Nov 29 Javascript
js放大镜放大购物图片效果
Jan 18 Javascript
JS全角与半角转化实例(分享)
Jul 04 Javascript
使用3D引擎threeJS实现星空粒子移动效果
Sep 13 Javascript
修改npm全局安装模式的路径方法
May 15 Javascript
使用ng-packagr打包Angular的方法示例
Sep 21 Javascript
VUE-cli3使用 svg-sprite-loader
Oct 20 Javascript
vue2.0移动端滑动事件vue-touch的实例代码
Nov 27 Javascript
JavaScript中构造函数与原型链之间的关系详解
Feb 25 Javascript
javascript创建元素和删除元素实例小结
Jun 19 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编程过程中需要了解的this,self,parent的区别
2009/12/30 PHP
php绝对路径与相对路径之间关系的的分析
2010/03/03 PHP
php中长文章分页显示实现代码
2012/09/29 PHP
使用php语句将数据库*.sql文件导入数据库
2014/05/05 PHP
php魔术函数__call()用法实例分析
2015/02/13 PHP
Yii实现的多级联动下拉菜单
2016/07/13 PHP
js生成验证码并直接在前端判断
2015/05/15 Javascript
AngularJS 模块详解及简单实例
2016/07/28 Javascript
js 基础篇必看(点击事件轮播图的简单实现)
2016/08/20 Javascript
KnockoutJS 3.X API 第四章之click绑定
2016/10/10 Javascript
bootstrap学习使用(导航条、下拉菜单、轮播、栅格布局等)
2016/12/01 Javascript
js表单序列化判断空值的实例
2017/09/22 Javascript
jQuery实现的form转json经典示例
2017/10/10 jQuery
Vue.js最佳实践(五招助你成为vuejs大师)
2018/05/04 Javascript
nodejs express配置自签名https服务器的方法
2018/05/22 NodeJs
代码分析vue中如何配置less
2018/09/28 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
JS实现图片轮播效果实例详解【可自动和手动】
2019/04/04 Javascript
vue柱状进度条图像的完美实现方案
2019/08/26 Javascript
微信小程序调用后台service教程详解
2020/11/06 Javascript
[53:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Magma BO3 第一场 1月31日
2021/03/11 DOTA
jupyter安装小结
2016/03/13 Python
python基础教程之Filter使用方法
2017/01/17 Python
python3+PyQt5实现自定义流体混合窗口部件
2018/04/24 Python
Python 编程速成(推荐)
2019/04/15 Python
python数字类型math库原理解析
2020/03/02 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
CSS3实现复选框动画特效示例代码
2016/09/27 HTML / CSS
浅谈Html5多线程开发之WebWorkers
2018/05/02 HTML / CSS
全球酒店比价网:HotelsCombined
2017/06/20 全球购物
Tretorn美国官网:瑞典外套和鞋类品牌,抵御风雨
2018/07/19 全球购物
香港演唱会订票网站:StubHub香港
2019/10/10 全球购物
解决python 输出到csv 出现多空行的情况
2021/03/24 Python
网络管理员岗位职责
2014/03/17 职场文书
房屋转让协议书范本
2014/04/11 职场文书
eval(cmd)与eval($cmd)的区别与联系
2021/07/07 PHP