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