将数字转换成大写的人民币表达式的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 相关文章推荐
Locate a File Using a File Open Dialog Box
Jun 18 Javascript
用JS提交参数创建form表单在FireFox中遇到的问题
Jan 16 Javascript
防止浏览器记住用户名及密码的简单实用方法
Apr 22 Javascript
详解javascript高级定时器
Dec 31 Javascript
最简单的tab切换实例代码
May 13 Javascript
jQuery处理XML文件的几种方法
Jun 14 Javascript
AngularJS控制器之间的数据共享及通信详解
Aug 01 Javascript
JavaScript算法系列之快速排序(Quicksort)算法实例详解
Sep 04 Javascript
vue-quill-editor实现图片上传功能
Aug 08 Javascript
express默认日志组件morgan的方法
Apr 05 Javascript
QQ跳转支付宝并自动领红包脚本(最新)
Jun 22 Javascript
微信小程序显示倒计时功能示例【测试可用】
Dec 03 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的简单采集数据入库程序
2014/07/30 PHP
PHP生成不重复随机数的方法汇总
2014/11/19 PHP
Smarty高级应用之缓存操作技巧分析
2016/05/14 PHP
php使用strip_tags()去除html标签仍有空白的解决方法
2016/07/28 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
PHP Beanstalkd消息队列的安装与使用方法实例详解
2020/02/21 PHP
utf8的编码算法 转载
2006/12/27 Javascript
学习js所必须要知道的一些
2007/03/07 Javascript
Javascript 函数中的参数使用分析
2010/03/27 Javascript
js简单实现HTML标签Select联动带跳转
2013/10/23 Javascript
document.write的几点使用心得
2014/05/14 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
2014/07/17 Javascript
gridview生成时如何去掉style属性中的border-collapse
2014/09/30 Javascript
js进行表单验证实例分析
2015/02/10 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
元素绑定click点击事件方法
2015/06/08 Javascript
jquery实现点击页面回到顶部
2016/11/23 Javascript
详解js数组的完全随机排列算法
2016/12/16 Javascript
十大 Node.js 的 Web 框架(快速提升工作效率)
2017/06/30 Javascript
微信小程序实现星级评价效果
2018/12/28 Javascript
Node.js设置定时任务之node-schedule模块的使用详解
2020/04/28 Javascript
python中使用%与.format格式化文本方法解析
2017/12/27 Python
python 实现UTC时间加减的方法
2018/12/31 Python
解决Python3 被PHP程序调用执行返回乱码的问题
2019/02/16 Python
通过python实现随机交换礼物程序详解
2019/07/10 Python
Python入门Anaconda和Pycharm的安装和配置详解
2019/07/16 Python
sort命令的作用和用法
2012/11/04 面试题
知名企业招聘广告词大全
2014/03/18 职场文书
药品业务员岗位职责
2014/04/17 职场文书
建设办主任四风问题整改思路和措施
2014/09/20 职场文书
《比尾巴》教学反思
2016/02/24 职场文书
opencv读取视频并保存图像的方法
2021/06/04 Python
java协程框架quasar和kotlin中的协程对比分析
2022/02/24 Java/Android
Vue router配置与使用分析讲解
2022/12/24 Vue.js