第一种方法:
function formatMoney(num){
if(isNaN(num))//如果传过来的不是数字类型就赋值为0
num = "0";
//判断是否为负数的标记
sign = (num == (num = Math.abs(num)));
//对小数部分四舍五入
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
// 保留两位小数,如果小数部分只有一位则前面要加0
if(cents<10)
cents = "0" + cents;
var len=num.length;
while(num.length>3){
str=','+num.slice(-3)+str;//slice(-1)是倒数第一位,-3就是倒数第三位
num=num.slice(0,num.length-3);//让num的中长度减去3
}
if(num)//如果num长度还有的多
num=num+str;
//三目运算符判断是否为负数
return (((sign)?'':'-') + num + '.' + cents);
}
第二种方法:
function formatMoney(num){
if(isNaN(num))//如果传过来的不是数字类型就赋值为0
num = "0";
//判断是否为负数的标记
sign = (num == (num = Math.abs(num)));
//对小数部分四舍五入
num = Math.floor(num*100+0.50000000001);
cents = num%100;
num = Math.floor(num/100).toString();
// 保留两位小数,如果小数部分只有一位则前面要加0
if(cents<10)
cents = "0" + cents;
var len=num.length;
for(var i=len-1;i>=0;i--){
str=num.charAt(i)+str
if(!(i%3)&&i)
str=","+str;
}
num=str;
//三目运算符判断是否为负数
return (((sign)?'':'-') + num + '.' + cents);
}
效果如下: