JS将数字格式化,再转换为英文的特效代码,JavaScript数字化格式转换代码,包含两个函数,一个完成格式化,另一个完成数字转英文,对其感兴趣的朋友,探个究竟吧。 请看实例: 注意,点击运行以后,网页特效将以弹出对话框的形式出现,如果你的音箱开了很大的声音,记得关一下哦。以免吓到,哈哈! <html> <head> <title>JavaScript数字格式转换代码</title> </head> <script type="text/javascript"> var sepStringM=new Array("", "Thousand ", "Million ", "Billion ", "Trillion ", " ", " "); var nbrStringA=new Array(" ", "One ", "Two ", "Three ", "Four ", "Five ", "Six ", "Seven ", "Eight ", "Nine "); var nbrStringB=new Array("Ten ", "Eleven ", "Twelve ", "Thirteen ", "Fourteen ", "Fifteen ", "Sixteen ", "Seventeen ", "Eighteen ", "Nineteen "); var nbrStringC=new Array(" ", "Twenty ", "Thirty ", "Fourty ", "Fifty ", "Sixty ", "Seventy ", "Eighty ", "Ninety "); alert("数字格式化: 12321231100.2555555 小数带3位四舍五入\n"+formatNbr("12321231100.2555555", 3, "," , ".","R")); alert("数字格式化-德国格式: 12321231100.2555555 小数带3位\n"+formatNbr(12321231100.2555555, 3, "." , ",","F")); alert("全大写E文, 数字是12321231100.2555555, 最多取2位小数转E文\n"+nbrToEngWord(formatNbr(12321231100.2555555, 3, "," , ".","R"),",",".","U")); alert("全小写E文,数字是10001.00\n"+nbrToEngWord(formatNbr(10001.00, 3, "," , ".","R"),",",".","L")); alert("默认大小写混合模式\n"+nbrToEngWord(formatNbr(12321231100.2555555, 3, "," , ".","R"),",",".","")); function nbrToEngWord(src, sep, per, mode){ var int=src.split(per)[0]; var dec=src.split(per)[1]=="undefined"?"00":src.split(per)[1]; var str=""; var tmp=int.split(sep); for (var i=0;i<tmp.length;i++){ if (tmp[i].length==1){ str=str+nbrStringA[parseInt(tmp[i])]+sepStringM[tmp.length-i-1]; } else { if (tmp[i].length==2){ if (tmp[i].substring(0,1)=="1"){ str=str+nbrStringB[parseInt(tmp[i].substring(1,2))]+sepStringM[tmp.length-i-1]; } else { str=str+nbrStringC[parseInt(tmp[i].substring(0,1))]+nbrStringA[parseInt(tmp[i].substring(1,2))]+sepStringM[tmp.length-i-1]; } } else { if (tmp[i].substring(0,1)=="0") { // } else { str=str+nbrStringA[parseInt(tmp[i].substring(0,1))]+"Hundred "; } if (tmp[i].substring(1,2)=="1"){ str=str+nbrStringB[parseInt(tmp[i].substring(2,3))]+sepStringM[tmp.length-i-1]; } else { if (tmp[i].substring(1,2)=="0"){ str=str+nbrStringA[parseInt(tmp[i].substring(2,3))]+sepStringM[tmp.length-i-1]; } else { str=str+nbrStringC[parseInt(tmp[i].substring(1,2))]+nbrStringA[parseInt(tmp[i].substring(2,3))]+sepStringM[tmp.length-i-1]; } } } } } dec=(dec.length>2)?dec.substring(0,2):dec; if (dec.length==1) {dec=dec+"0";} if (dec=="00") { } else { if (dec.substring(0,1)=="1"){ str=str+"And "+nbrStringB[parseInt(dec.substring(1,2))]+"Cents"; } else { if (dec.substring(1,2)=="0") { str=str+"And "+nbrStringA[parseInt(dec.substring(1,2))]+"Cents"; } else { str=str+"And "+nbrStringC[parseInt(dec.substring(0,1))]+nbrStringA[parseInt(dec.substring(1,2))]+"Cents"; } } } switch (mode){ case "U": str=str.toUpperCase(); break; case "L": str=str.toLowerCase(); break; default: break; } return str; } function formatNbr(src, num, sep, per, mode){ var nbr; var cnt; var tmp var int, dec; switch (typeof(src)){ case "string": nbr=src; break; case "number": nbr=src.toString(); break; default: break; } int=nbr.split(".")[0]; dec=typeof(nbr.split(".")[1])=="undefined"?0:nbr.split(".")[1]; cnt=Math.floor((int.length-1)/3); for (var i=cnt;i>0;i--){ int=int.substring(int.length-i*3,0)+sep+int.substring(int.length-i*3,int.length); } if (num>0) { if (dec.length>=num) { switch (mode) { case "R": dec=(Math.round(parseInt(dec)/Math.pow(10, (dec.length-num)))).toString().split(".")[0]; break; case "C": dec=(Math.ceil(parseInt(dec)/Math.pow(10, (dec.length-num)))).toString().split(".")[0]; break; default: dec=dec.substring(0,num); break; } } else { tmp=num-dec.length; for (var i=0;i<tmp;i++){ dec=dec+"0"; } } return int+per+dec; } else { return int; } } </script> <body>烈火网-电脑教程丰富的网络学院</body></html> <br /><center>如不能显示效果,请按Ctrl+F5刷新本页,更多网页代码:<a href='http://www.veryhuo.com/' target='_blank'>http://www.veryhuo.com/</a></center>提示:可修改后代码再运行! 文章导航 简单的JavaScript递增、递减运算实例如何解决表单Form的submit事件不响应