意外的ParseFloat结果

时间:2015-07-09 07:47:28

标签: javascript

今天,我在Javascript中看到了parseFloat的奇怪问题。当我对值进行加法运算时,我看到了一些奇怪的值,下面是例子:

parseFloat("31.099")+1;

输出:

32.099000000000004

为什么我只有31.099的问题?

3 个答案:

答案 0 :(得分:0)

浮动数字总是很奇怪。查看PHP Manual中的一些说明。有一个关于精确度的警告。

答案 1 :(得分:0)

大多数编程语言都是这样做的,当你将一个int添加到浮点数时,它会得到一个结果的近似值。一种解决方法是创建浮动类型并将浮动值与整数值分开。

答案 2 :(得分:0)

是的,浮点数并不总是精确的。这是因为分数不能用二进制精确表示。

要修复它,请使用toFixed()将浮点数舍入为所需的精度。例如,两位小数:

num.toFixed(2)