js将数字的金额转换成中文大写金额

xiaoxiao2025-06-27  15

最近在工作的时候遇到要把数字的金额转成中文大写,例如,600.99 转成陆佰元玖角玖分!好了废话不多说,开始上代码。

function moneyToCapital(num) { var fuhao = ""; var text = num + ""; if (text.indexOf("-") > -1) { num = text.replace("-", ""); fuhao = "负" } var money1 = new Number(num); var monee = Math.round(money1 * 100).toString(10); var leng = monee.length; var monval = ""; for (i = 0; i < leng; i++) { monval = monval + to_upper(monee.charAt(i)) + to_mon(leng - i - 1) } return fuhao + repace_acc(monval) } // 将数字转为大写的中文字 function to_upper(a) { switch (a) { case "0": return "零"; break; case "1": return "壹"; break; case "2": return "贰"; break; case "3": return "叁"; break; case "4": return "肆"; break; case "5": return "伍"; break; case "6": return "陆"; break; case "7": return "柒"; break; case "8": return "捌"; break; case "9": return "玖"; break; default: return "" } } function to_mon(a) { if (a > 10) { a = a - 8; return (to_mon(a)) } switch (a) { case 0: return "分"; break; case 1: return "角"; break; case 2: return "元"; break; case 3: return "拾"; break; case 4: return "佰"; break; case 5: return "仟"; break; case 6: return "万"; break; case 7: return "拾"; break; case 8: return "佰"; break; case 9: return "仟"; break; case 10: return "亿"; break } } function repace_acc(Money) { Money = Money.replace("零分", ""); Money = Money.replace("零角", "零"); var yy; var outmoney; outmoney = Money; yy = 0; while (true) { var lett = outmoney.length; outmoney = outmoney.replace("零元", "元"); outmoney = outmoney.replace("零万", "万"); outmoney = outmoney.replace("零亿", "亿"); outmoney = outmoney.replace("零仟", "零"); outmoney = outmoney.replace("零佰", "零"); outmoney = outmoney.replace("零零", "零"); outmoney = outmoney.replace("零拾", "零"); outmoney = outmoney.replace("亿万", "亿零"); outmoney = outmoney.replace("万仟", "万零"); outmoney = outmoney.replace("仟佰", "仟零"); yy = outmoney.length; if (yy == lett) { break } } yy = outmoney.length; if (outmoney.charAt(yy - 1) == "零") { outmoney = outmoney.substring(0, yy - 1) } yy = outmoney.length; if (outmoney.charAt(yy - 1) == "元") { outmoney = outmoney + "整" } return outmoney } 调用 var A= 600.99 console.log(moneyToCapital(A)) //陆佰元玖角玖分
转载请注明原文地址: https://www.6miu.com/read-5032581.html

最新回复(0)