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;
}

转载于:https://www.cnblogs.com/Super-scarlett/p/10559332.html

JS实现将数字金额转换为大写人民币汉字相关推荐

  1. JS将数字金额转换为大写人民币汉字

    转载自 qubernet 博客 JS将数字金额转换为大写人民币汉字 function convertCurrency(money) {//汉字的数字var cnNums = new Array('零' ...

  2. 数字金额转换为大写人民币汉字

    // 数字金额转换为大写人民币汉字convertCurrency (money) {// 汉字的数字var cnNums = ['零', '壹', '贰', '叁', '肆', '伍', '陆', ' ...

  3. js将数字金额转换为大写人民币

    今天换算律师打官司金额,用到了小写金额转化为大写汉字的问题,这里把具体思路分析一下 1.首先判断输入数值正负问题, 2.其次有小数点部分需要处理,将数值每次乘以10进行拆分,乘10--%10--结果为 ...

  4. 【Java】将数字金额转换为大写中文金额

    package com.ruoyi.test;import org.apache.commons.lang3.StringUtils;/*** @Title: ConvertUpMoney* @Des ...

  5. js系列之-数字金额转换为文字金额

    //主函数 function DX(n) {if (!/^(0|[1-9]\d*)(\.\d+)?$/.test(n))return ""; var unit = "仟佰 ...

  6. 使用JS将数字金额转为大写的人民币

    使用JS将数字金额转为大写的人民币 刚好今天有时间写文章,就想到了上次做项目时做到的一个需求,拿出来分享一下. 如何将数字金额转为大写人民币? 一点思路 : 封装方法 列出大写人民币的所需的单位 设置 ...

  7. oracle人民币转大写,Oracle 小写金额转换为大写

    在开发EBS的合同报表打印的时候需要将小写金额转换为大写. 如下是本人自己写的转换函数. 主要思路:先获取小数点位置,在区分整数与小数点处理,根据位数和数字组合读取金额. 最后再处理特殊显示部分. / ...

  8. java数字金额大写金额_Java实现 “ 将数字金额转为大写中文金额 ”

    前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分:重点来了:本人亲测有效. 奉上代码: /** * @Title: Conve ...

  9. java 金额转中文_Java实现 将数字金额转为大写中文金额

    前言: 输入数字金额参数,运行程序得到其对应的大写中文金额:例如:输入 12.56,输出 12.56 : 壹拾贰元伍角陆分. 代码: /** * @Title: ConvertUpMoney * @D ...

最新文章

  1. 基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现
  2. fedora 35 安装各种桌面环境命令整理
  3. WCF 异常(原创:灰灰虫的家http://hi.baidu.com/grayworm)
  4. Codeforces Round #675 (Div. 2) F. Boring Queries 区间lcm + 主席树
  5. 洛谷P4322 最佳团伙(树上dp)
  6. python从字符串中提取数字并转换为相应数据类型_python从PDF中提取数据的示例
  7. 刷抖音看到 Python 工程师的工资条后,我沉默了...
  8. CoreOS那些事之系统升级
  9. postsql将MULTIPOLYGON转POLYGON
  10. 学生成绩预测模型_学生成绩分析预测
  11. excel利用公式获取行或列中最后一个非空单元格数据
  12. 第5章 NameNode和SecondaryNameNode
  13. 数字人还能设计数字藏品?希加加xQee创作人间十二月
  14. FFMPEG 常用命令一览
  15. visio文本框输入公式
  16. java long初始化_java中long类型的变量想要初始化其值为空,要怎么实现?
  17. REST-Assured,接口自动化的 “瑞士军刀“- 断言篇
  18. 面对已知问题和未知问题的解决思路
  19. Word 调整段落行间距无效怎么办
  20. YII2 数据库常用操作案例

热门文章

  1. 哈密顿算子在直角坐标系的矩阵表示
  2. GreenPlum的Primary和Mirro切换恢复
  3. 如何反汇编exe之VB程序
  4. 基于矢量的水下路由协议
  5. Android项目从零到上线的全过程
  6. 华为、小米已成老年手机市场主力—1.5万条老年手机电商数据解读
  7. Python批量修改图片名称
  8. CISP证书价值​NISP证书价值|CISP和NISP含金量如何
  9. 我的2019年终总结
  10. 图神经网络的池化操作