将数字转换成大写的人民币表达式的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 div层的放大与缩小简单实现代码
Mar 28 Javascript
JavaScript字符串对象的concat方法实例(用于连接两个或多个字符串)
Oct 16 Javascript
jQuery中find()方法用法实例
Jan 07 Javascript
jQuery中replaceAll()方法用法实例
Jan 16 Javascript
浅析创建javascript对象的方法
May 13 Javascript
JavaScript面试开发常用的知识点总结
Aug 08 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
AngularJS 事件发布机制
Aug 28 Javascript
浅谈一个webpack构建速度优化误区
Jun 24 Javascript
JQuery插件tablesorter表格排序实现过程解析
May 28 jQuery
原生js+css实现tab切换功能
Sep 17 Javascript
vue如何批量引入组件、注册和使用详解
May 12 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 搜索框提示(自动完成)实例代码
2012/02/05 PHP
PHP提示Notice: Undefined variable的解决办法
2012/11/24 PHP
PHP 登录完成后如何跳转上一访问页面
2014/01/14 PHP
PHP 5.3新增魔术方法__invoke概述
2014/07/23 PHP
php打开本地exe程序,js打开本地exe应用程序,并传递相关参数方法
2018/02/06 PHP
laravel model 两表联查示例
2019/10/24 PHP
php使用redis的几种常见操作方式和用法示例
2020/02/20 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
FormValidate 表单验证功能代码更新并提供下载
2008/08/23 Javascript
第一个JavaScript入门基础 document.write输出
2010/02/22 Javascript
jquery插件orbit.js实现图片折叠轮换特效
2015/04/14 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
2016/06/24 Javascript
全屏滚动插件fullPage.js使用实例解析
2016/10/21 Javascript
原生JavaScript实现的简单省市县三级联动功能示例
2017/05/27 Javascript
vue.js 底部导航栏 一级路由显示 子路由不显示的解决方法
2018/03/09 Javascript
关于JavaScript中高阶函数的魅力详解
2018/09/07 Javascript
如何在Vue中使localStorage具有响应式(思想实验)
2020/07/14 Javascript
vue实现简单全选和反选功能
2020/09/15 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
[04:11]DOTA2上海特级锦标赛主赛事首日TOP10
2016/03/03 DOTA
MAC中PyCharm设置python3解释器
2017/12/15 Python
Python 中Pickle库的使用详解
2018/02/24 Python
在Python中增加和插入元素的示例
2018/11/01 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
Python 格式化输出_String Formatting_控制小数点位数的实例详解
2020/02/04 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
Python实现发票自动校核微信机器人的方法
2020/05/22 Python
如何利用python 读取配置文件
2021/01/06 Python
尼克松手表官网:Nixon手表
2019/03/17 全球购物
流行文化收藏品:Sideshow(DC漫画,星球大战,漫威)
2019/03/17 全球购物
教育课题研究自我鉴定范文
2013/12/28 职场文书
校园文化建设方案
2014/02/03 职场文书
公司周年庆典策划方案
2014/05/17 职场文书
html css3不拉伸图片显示效果
2021/06/07 HTML / CSS
Spring Data JPA框架持久化存储数据到数据库
2022/04/28 Java/Android
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python