【发布时间】:2019-03-10 22:48:20
【问题描述】:
现在一直在寻找这个,大多数问题都包含我尝试过的相同答案,但它不适用于我的情况,因此我发布这个。现在我的脚本返回了几个数字,我想在小数点后留下这些数字和 2 个数字,现在的问题是我有另一个脚本可以为这些数字添加逗号,例如,我可能会得到以下数字。
56,883.90,607,219,945
5,327.078,363,188,421
1688.7000000000003
2,739.272
现在我已经尝试了几个东西,包括Number(number).toFixed(2)等。但它会切断一些部分,例如。
- 上面的第一个数字将返回>
"56.00",而我需要它返回56,883.90 - 会返回 >
"5.00",而我需要5,327.07 - 会返回我所期待的
"1688.70" - 将返回
"2.00"而不是2,739.27
现在我明白问题出在哪里了,它需要逗号和后面的数字,有没有办法专门在 DOT 之后只抓取 2 个数字?
提前致谢
【问题讨论】:
-
56,883.90,607,219,945这不是一个有效的数字?第二个5,327.078,363,188,421也是如此。是否有理由将数字格式化为这样?那是因为这根本不是数字的表示方式。查看生成这些脚本/逻辑的任何脚本/逻辑,然后修复它:这对我来说就像一个 XY 问题。 -
一旦出现逗号,它们就不再是数字,而是字符串,因此您必须使用正则表达式来解决问题。
-
Number("56,883.90")会因为逗号而返回NaN。 -
var number = "56,883.90,607,219,945".split(",", 2); alert(number); -
@Terry 是的,我会解决的,对此感到抱歉。它基本上是一个在每 3 个数字后添加逗号的脚本。但是回到轨道上,如果数字是例如 5,327.078 并且我使用 Number(5,327.078).toFixed(2);它仍然会返回 5.00
标签: javascript jquery math decimal