将数字转换成大写的人民币表达式的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 相关文章推荐
ASP.NET jQuery 实例15 通过控件CustomValidator验证CheckBoxList
Feb 03 Javascript
谈一谈javascript闭包
Jan 28 Javascript
jQuery实现的自适应焦点图效果完整实例
Aug 24 Javascript
详解JavaScript跨域总结与解决办法
Oct 31 Javascript
JavaScript常见的五种数组去重的方式
Dec 15 Javascript
js仿新浪微博消息发布功能
Feb 17 Javascript
微信小程序对接七牛云存储的方法
Jul 30 Javascript
Vue实现导出excel表格功能
Mar 30 Javascript
基于Vue中使用节流Lodash throttle详解
Oct 30 Javascript
Vue2.x和Vue3.x的双向绑定原理详解
Nov 05 Javascript
动态实现element ui的el-table某列数据不同样式的示例
Jan 22 Javascript
HTML+VUE分页实现炫酷物联网大屏功能
May 27 Vue.js
判断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 mssql 时间格式问题
2009/01/13 PHP
PHP setcookie设置Cookie用法(及设置无效的问题)
2011/07/13 PHP
兼容PHP和Java的des加密解密代码分享
2014/06/26 PHP
Laravel 错误提示本地化的实现
2019/10/22 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
JavaScript 动态将数字金额转化为中文大写金额
2009/05/14 Javascript
js实现网站首页图片滚动显示
2013/02/04 Javascript
动态加载dtree.js树treeview(示例代码)
2013/12/17 Javascript
同域jQuery(跨)iframe操作DOM(实例讲解)
2013/12/19 Javascript
利用js实现在浏览器状态栏显示访问者在本页停留的时间
2013/12/29 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
jquery关于事件冒泡和事件委托的技巧及阻止与允许事件冒泡的三种实现方法
2015/11/27 Javascript
jQuery simplePage+AJAX plus分页插件用法实例
2016/02/17 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
vue.js移动数组位置,同时更新视图的方法
2018/03/08 Javascript
使用 vue-i18n 切换中英文效果
2018/05/23 Javascript
详解封装基础的angular4的request请求方法
2018/06/05 Javascript
vue单页面实现当前页面刷新或跳转时提示保存
2018/11/02 Javascript
vue中的ref和$refs的使用
2018/11/22 Javascript
vue学习笔记之过滤器的基本使用方法实例分析
2020/02/01 Javascript
JavaScript 几种循环方式以及模块化的总结
2020/09/03 Javascript
python分析apache访问日志脚本分享
2015/02/26 Python
PyTorch的自适应池化Adaptive Pooling实例
2020/01/03 Python
从零实现一个自定义html5播放器的示例代码
2017/08/01 HTML / CSS
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
渔夫的故事教学反思
2014/02/14 职场文书
廉洁自律演讲稿
2014/05/22 职场文书
运动会跳远广播稿5篇
2014/09/17 职场文书
手机销售员岗位职责
2015/04/11 职场文书
人事任命通知书
2015/04/21 职场文书
卡特教练观后感
2015/06/08 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
2016年十一促销广告语
2016/01/28 职场文书
MySQL实例精讲单行函数以及字符数学日期流程控制
2021/10/15 MySQL
CSS使用伪类控制边框长度的方法
2022/01/18 HTML / CSS