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金额数字格式化,谢谢大家的阅读。