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

How to calculate numbers with dot thousand separator in javascript

我使用 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

谢谢大家

格式化数字是人眼看的,不适合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);