我正在尝试使用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问题,但没有将两者结合起来。
谢谢。
答案 0 :(得分:2)
这似乎有效
var f = function(num) {
return parseFloat(num).toFixed(2).toLocaleString();
};