javascript中的string.Format(“{0:n0}”)

时间:2013-04-18 10:22:06

标签: c# javascript

我正在尝试找到一个等效函数:

string.Format("{0:n0}")

在javascript中。

或者换句话说,我有一个很长的数字10898502,我想像这样显示10,898,502。

有一种简单的方法吗?

谢谢,

1 个答案:

答案 0 :(得分:0)

对于纯Javascript解决方案,我建议使用以下功能。这是由SO社区Wiki条目提供的:How can I format numbers as money in JavaScript?

Number.prototype.formatMoney = function(c, d, t){
var n = this,
    c = isNaN(c = Math.abs(c)) ? 2 : c, 
    d = d == undefined ? "." : d, 
    t = t == undefined ? "," : t, 
    s = n < 0 ? "-" : "", 
    i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "", 
    j = (j = i.length) > 3 ? j % 3 : 0;
   return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};


console.log(
    (1000000.94).formatMoney(1, '.', ',')   // 1,000,000.9
);