Formatting numbers for commas and decimal places with Javascript
本问题已经有最佳答案,请猛点这里访问。
我正在尝试用javascript创建一个函数,它显示所有带两个小数点的数字,并每隔三位添加逗号(1000 100000等)。
起初我有这样的经历:
1 2 3 | var formatNumber = function(num) { return parseFloat((num).toFixed(2)).toLocaleString(); }; |
这很有效,但有一个例外。
1.2!=1.20在最终输出中。它只显示为1.2
但其他一切都很好。124.5879697=124.59,10000=10000,10586.357=10586.36
问题是最终的产出将显示为金钱,所以显示10000美元为10000美元是罚款的。但显示1.2美元时,1.2美元看起来有点过时。
为了解决这个问题,我尝试添加以下修改:
1 2 3 | var formatNumber = function(num) { return parseFloat((Math.round(num*100)/100)).toFixed(2).toLocaleString(); }; |
号
这可以将所有内容保留到小数点后两位,这很好,但似乎已经取消了对局部字符串的激活,因为现在没有任何内容显示逗号。
我希望在这个而不是jquery中使用纯JavaScript。在这个主题中,似乎有很多关于一个或另一个问题的JS问题,但并没有将两者结合起来。
谢谢您。
这个好像管用
1 2 3 | var f = function(num) { return parseFloat(num).toFixed(2).toLocaleString(); }; |