使用Javascript格式化逗号和小数位数

时间:2015-05-07 17:44:10

标签: javascript

我正在尝试使用javascript创建一个函数,该函数显示带有两个小数点的所有数字,并且每三位数字(1,000 10,000 100,000等)添加逗号。

起初我有这个:

var formatNumber = function(num) {
    return parseFloat((num).toFixed(2)).toLocaleString();
};

这非常有效,但有一个例外。

在最终输出中

1.2!= 1.20。它只显示为1.2

但其他一切都很好。 124.5879697 = 124.59,10000 = 10,000和10586.357 = 10,586.36

问题是最终输出将显示为货币,因此将10000显示为$ 10,000就可以了。但显示1.2为1.2美元看起来有点偏。

为了解决这个问题,我尝试添加以下修改:

var formatNumber = function(num) {
   return parseFloat((Math.round(num*100)/100)).toFixed(2).toLocaleString();
};

这会将所有内容都带到两位小数,这很好,但似乎已经取消激活toLocaleString,因为现在没有任何内容显示逗号。

我希望使用纯Javascript而不是jQuery。关于这一主题似乎有很多关于一个或另一个问题的js问题,但没有将两者结合起来。

谢谢。

1 个答案:

答案 0 :(得分:2)

这似乎有效

var f = function(num) {
    return parseFloat(num).toFixed(2).toLocaleString();
};