(工具)JavaScript 金额转大写

编程入门 行业动态 更新时间:2024-10-26 20:22:29

(工具)JavaScript <a href=https://www.elefans.com/category/jswz/34/1746174.html style=金额转大写"/>

(工具)JavaScript 金额转大写

function moneyToUpCase(money) {if(!money) {return '';}if(typeof money == 'number') {money = money + '';}money = money.replace(/,/g, ''); // 替换originalVal中的“,”money = money.replace(/\\s/g, ''); // 替换originalVal中的“,”money = money.replace("¥", "")//替换掉可能出现的¥字符if (isNaN(money)) { //验证输入的字符是否为数字return 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(i != 0) {if (n != '0') {chineseStr += cnNums[Number(n)] + cnDecUnits[i];}} else {chineseStr += cnNums[Number(n)];if(n != '0') {chineseStr += cnDecUnits[i];}}}}if (chineseStr == '') {chineseStr += cnNums[0] + cnIntLast + cnInteger;} else if (decimalNum == '') {chineseStr += cnInteger;}return chineseStr;}

更多推荐

(工具)JavaScript 金额转大写

本文发布于:2024-02-11 13:24:54,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1681227.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:金额   工具   JavaScript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!