分享一例的js代码,将数字格式化成金额的表示形式,很多时候会使用得上,在此记录下。
代码:
-
/**
-
* 将数值四舍五入(保留2位小数)后格式化成金额形式
-
*
-
* @param num 数值(Number或者String)
-
* @return 金额格式的字符串,如'1,234,567.45'
-
* @type String
-
*/
-
function formatCurrency(num) {
-
num = num.toString().replace(/\$|\,/g,'');
-
if(isNaN(num))
-
num = "0";
-
sign = (num == (num = Math.abs(num)));
-
num = Math.floor(num*100+0.50000000001);
-
cents = num%100;
-
num = Math.floor(num/100).toString();
-
if(cents<10)
-
cents = "0" + cents;
-
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
-
num = num.substring(0,num.length-(4*i+3))+','+
-
num.substring(num.length-(4*i+3));
-
return (((sign)?'':'-') + num + '.' + cents);
-
}
-
-
/**
-
* 将数值四舍五入(保留1位小数)后格式化成金额形式
-
* 脚本学堂
-
* @param num 数值(Number或者String)
-
* @return 金额格式的字符串,如'1,234,567.4'
-
* @type String
-
*/
-
function formatCurrencyTenThou(num) {
-
num = num.toString().replace(/\$|\,/g,'');
-
if(isNaN(num))
-
num = "0";
-
sign = (num == (num = Math.abs(num)));
-
num = Math.floor(num*10+0.50000000001);
-
cents = num%10;
-
num = Math.floor(num/10).toString();
-
for (var i = 0; i < Math.floor((num.length-(1+i))/3); i++)
-
num = num.substring(0,num.length-(4*i+3))+','+
-
num.substring(num.length-(4*i+3));
-
return (((sign)?'':'-') + num + '.' + cents);
-
}
阅读(2644) | 评论(0) | 转发(0) |