今天,我在Javascript中看到了parseFloat
的奇怪问题。当我对值进行加法运算时,我看到了一些奇怪的值,下面是例子:
parseFloat("31.099")+1;
输出:
32.099000000000004
为什么我只有31.099的问题?
答案 0 :(得分:0)
浮动数字总是很奇怪。查看PHP Manual中的一些说明。有一个关于精确度的警告。
答案 1 :(得分:0)
大多数编程语言都是这样做的,当你将一个int添加到浮点数时,它会得到一个结果的近似值。一种解决方法是创建浮动类型并将浮动值与整数值分开。
答案 2 :(得分:0)
是的,浮点数并不总是精确的。这是因为分数不能用二进制精确表示。
要修复它,请使用toFixed()将浮点数舍入为所需的精度。例如,两位小数:
num.toFixed(2)