如何用javascript中的千位分隔符计算数字

时间:2015-09-09 08:16:06

标签: javascript php math numbers number-formatting

我使用php数字格式转换了数字,如下所示:

number_format($X, 2, ',', '.');

转换

5000000

5.000.000,00

这正是我想要的。

但是现在我的javascript函数正在对这些数字进行一些基本的数学计算得出错误的结果,例如:

5.000.000,00 - 3.500.000,00 = 1.5 instead of 1.500.000,00

那你如何在javascript中正确计算这些数字?

我非常感谢能得到的任何帮助:D

感谢所有

1 个答案:

答案 0 :(得分:1)

格式化数字适合人眼,不适合JS处理。您可能希望按照HTML格式编写数字并在客户端进行格式化,或者为原始值添加单独的数据属性。

例如:

<span id="myNumber" data-value="<?=$X?>"><?=number_format($X, 2, ',', '.')?></span>

这给了你:

<span id="myNumber" data-value="5000000">5.000.000,00</span>

然后您可以通过JS获取原始数字:

var X = parseInt(document.getElementById("myNumber").getAttribute("data-value"), 10);

或jQuery:

var X = parseInt($("#myNumber").attr("data-value"), 10);