js下将金额数字每三位一逗号分隔
工作中很常用的东西:
例1,使数字1111111变成11,111,111.00,保留两位小数。
<html> <head> <scripttype="text/javascript"> functionoutputmoney(number){ number=number.replace(/\,/g,""); if(isNaN(number)||number=="")return""; number=Math.round(number*100)/100; if(number<0) return'-'+outputdollars(Math.floor(Math.abs(number)-0)+'')+outputcents(Math.abs(number)-0); else returnoutputdollars(Math.floor(number-0)+'')+outputcents(number-0); } //格式化金额 functionoutputdollars(number){ if(number.length<=3) return(number==''?'0':number); else{ varmod=number.length%3; varoutput=(mod==0?'':(number.substring(0,mod))); for(i=0;i<Math.floor(number.length/3);i++){ if((mod==0)&&(i==0)) output+=number.substring(mod+3*i,mod+3*i+3); else output+=','+number.substring(mod+3*i,mod+3*i+3); } return(output); } } functionoutputcents(amount){ amount=Math.round(((amount)-Math.floor(amount))*100); return(amount<10?'.0'+amount:'.'+amount); } </script> </head> <body> <inputtype=textmaxlength="8"id="test"onblur="this.value=outputmoney(this.value);"> </body> </html>
例2,使数字1111111变成11,111,111---和使11,111,111变成1111111---整数--
<!doctypehtmlpublic"-//w3c//dtdxhtml1.0transitional//en""http://www.w3.org/tr/xhtml1/dtd/xhtml1-transitional.dtd"> <htmlxmlns="http://www.w3.org/1999/xhtml"> <head> <metahttp-equiv="content-type"content="text/html;charset=gb2312"/> <title>js格式化金额的代码---www.nhooo.com</title> <scriptlanguage="javascript"> functiontran(id) { varv,j,sj,rv=""; v=id.value.replace(/,/g,"").split("."); j=v[0].length%3; sj=v[0].substr(j).toString(); for(vari=0;i<sj.length;i++) { rv=(i%3==0)?rv+","+sj.substr(i,1):rv+sj.substr(i,1); } varrvalue=(v[1]==undefined)?v[0].substr(0,j)+rv:v[0].substr(0,j)+rv+"."+v[1]; if(rvalue.charCodeAt(0)==44) { rvalue=rvalue.substr(1); } id.value=rvalue; } functiontran2(id) { varv; v=id.value.replace(/,/g,""); alert(v); } </script> <styletype="text/css"> <!-- body,td,th,input{ font-size:12px; } --> </style></head> <body> <inputname="tt"type="text"id="tt"size="80"onkeyup="tran(this)"/> <br/> <inputname="tt"type="text"id="tt2"size="80"onkeyup="tran2(this)"/> </body> </html>
以上就是本文的全部内容,希望对大家的学习有所帮助,轻松实现js金额数字格式化,谢谢大家的阅读。