当前位置: 首页 > 编程笔记 >

JS实现将数字金额转换为大写人民币汉字的方法

南宫鸿晖
2023-03-14
本文向大家介绍JS实现将数字金额转换为大写人民币汉字的方法,包括了JS实现将数字金额转换为大写人民币汉字的方法的使用技巧和注意事项,需要的朋友参考一下

本文实例讲述了JS实现将数字金额转换为大写人民币汉字的方法。分享给大家供大家参考,具体如下:

//代码如下所示:
function convertCurrency(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) {
    //超出最大处理数字
    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;
}

PS:这里再为大家提供一款在线工具供大家参考:

人民币大写在线转换工具:
http://tools.jb51.net/zhuanhuanqi/rmbupper

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript数学运算用法总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript动画特效与技巧汇总》、《JavaScript错误与调试技巧总结》及《JavaScript遍历算法与技巧总结》

希望本文所述对大家JavaScript程序设计有所帮助。

 类似资料:
  • 本文向大家介绍js实现人民币大写金额形式转换,包括了js实现人民币大写金额形式转换的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了js实现金额转大写的相关代码,供大家参考,具体内容如下 以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

  • 本文向大家介绍java实现将数字转换成人民币大写,包括了java实现将数字转换成人民币大写的使用技巧和注意事项,需要的朋友参考一下 Rmb.java RmbTest.java 以上所述就是本文的全部内容了,希望对大家学习java能够有所帮助。

  • 本文向大家介绍JAVA实现数字大写金额转换的方法,包括了JAVA实现数字大写金额转换的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JAVA实现数字大写金额转换的方法。分享给大家供大家参考。具体如下: 例子:实现将阿拉伯数字的金额转换成中文大写金额的形式,例如: ¥1011 → 壹仟零壹拾壹元整。 大写数字为:零、壹、贰、叁、肆、伍、陆、柒、捌、玖、拾、佰、仟、万、亿 希望本文所述对

  • 本文向大家介绍java实现数字转换人民币中文大写工具,包括了java实现数字转换人民币中文大写工具的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了java实现数字转换人民币中文大写的具体代码,供大家参考,具体内容如下 业务场景: 1.在人事业务系统开发的报表打印文书时经常需要将人民币数值转换为大写, 所以用java写了一个通用的大写转换函数。 为了更加方便调用函数的参数使用字符串类型

  • 本文向大家介绍JS 数字转换为大写金额的简单实例,包括了JS 数字转换为大写金额的简单实例的使用技巧和注意事项,需要的朋友参考一下 JS 数字转换为大写金额的简单实例 以上这篇JS 数字转换为大写金额的简单实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍易语言将数值转换为人民币金额的简体或繁体大写形式,包括了易语言将数值转换为人民币金额的简体或繁体大写形式的使用技巧和注意事项,需要的朋友参考一下 数值到金额命令 英文命令:NumToRMB 操作系统支持:Windows、Linux    所属类别:数值转换 将数值转换为金额的简体或繁体大写形式,返回转换后的文本。 语法:  文本型  数值到金额 (欲转换形式的数值,是否转换为简体)