将数字转换成大写的人民币表达式的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 相关文章推荐
Javascript倒计时代码
Aug 12 Javascript
jquery插件 autoComboBox 下拉框
Dec 22 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
Apr 26 Javascript
JavaScript作用域链示例分享
May 27 Javascript
jquery滚动到顶部底部代码
Apr 20 Javascript
微信小程序开发之视频播放器 Video 弹幕 弹幕颜色自定义实例
Dec 08 Javascript
微信小程序使用progress组件实现显示进度功能【附源码下载】
Dec 12 Javascript
剖析Angular Component的源码示例
Mar 23 Javascript
Angular Excel 导入与导出的实现代码
Apr 17 Javascript
解决Layui中templet中a的onclick参数传递的问题
Sep 20 Javascript
基于vue-cli3和element实现登陆页面
Nov 13 Javascript
uniapp实现可滑动选项卡
Oct 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学习笔记之三 数据库基本操作
2011/01/17 PHP
CI框架中libraries,helpers,hooks文件夹详细说明
2014/06/10 PHP
php使用simplexml_load_file加载XML文件并显示XML的方法
2015/03/19 PHP
ThinkPHP中order()使用方法详解
2016/04/19 PHP
解决laravel 出现ajax请求419(unknown status)的问题
2019/09/03 PHP
悄悄用脚本检查你访问过哪些网站的代码
2010/12/04 Javascript
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
Js 时间间隔计算的函数(间隔天数)
2011/11/15 Javascript
JavaScript中的常见问题解决方法(乱码,IE缓存,代理)
2013/11/28 Javascript
javaScript 计算两个日期的天数相差(示例代码)
2013/12/27 Javascript
jquery使用正则表达式验证email地址的方法
2015/01/22 Javascript
jQuery实现按键盘方向键翻页特效
2015/03/18 Javascript
浅谈Javascript实现继承的方法
2015/07/06 Javascript
jQuery通用的全局遍历方法$.each()用法实例
2016/07/04 Javascript
原生JS改变透明度实现轮播效果
2017/03/24 Javascript
深入研究React中setState源码
2017/11/17 Javascript
详解从NodeJS搭建中间层再谈前后端分离
2018/11/13 NodeJs
浅谈layer弹出层按钮颜色修改方法
2019/09/11 Javascript
cmd运行python文件时对结果进行保存的方法
2018/05/16 Python
Django中提供的6种缓存方式详解
2019/08/05 Python
Pytorch中Tensor与各种图像格式的相互转化详解
2019/12/26 Python
Python编程快速上手——选择性拷贝操作案例分析
2020/02/28 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
python怎么删除缓存文件
2020/07/19 Python
python 贪心算法的实现
2020/09/18 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
捷克原创男装和女装购物网站:Bolf.cz
2018/04/28 全球购物
俄罗斯第一家篮球店:StreetBall
2020/07/30 全球购物
俄罗斯外国汽车和国产汽车配件网上商店:Движком
2020/04/19 全球购物
信息管理专业学生自荐信格式
2013/09/22 职场文书
电气工程及自动化专业自荐书范文
2013/12/18 职场文书
感恩节活动方案
2014/01/27 职场文书
优质服务口号
2014/06/11 职场文书
公司委托书范本5篇
2014/09/20 职场文书
高中班主任寄语
2019/06/21 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python