Javascript 意外的ParseFloat结果

Javascript 意外的ParseFloat结果,javascript,Javascript,今天,我在Javascript中看到了parseFloat的奇怪问题。当我对值进行加法运算时,我看到了一些奇怪的值,下面是示例: parseFloat("31.099")+1; 输出: 32.099000000000004 为什么只有31.099有问题?浮点数总是很奇怪。也可以查看中的一些描述。有一个关于精度的警告。大多数编程语言都是这样做的,当您将int添加到浮点数时,它将对结果进行近似处理。解决方法之一是创建浮点类型,并将浮点值与整数值分开。是的,浮点数字并不总是精确的。这是因为分数不能

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

parseFloat("31.099")+1;
输出:

32.099000000000004

为什么只有31.099有问题?

浮点数总是很奇怪。也可以查看中的一些描述。有一个关于精度的警告。

大多数编程语言都是这样做的,当您将int添加到浮点数时,它将对结果进行近似处理。解决方法之一是创建浮点类型,并将浮点值与整数值分开。

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

要解决此问题,请使用toFixed()将浮点数四舍五入到所需的精度。例如,对于两个小数位:

num.toFixed(2)

如果你看一下它们的二进制表示,它们没有什么奇怪的。嗨,基兰,谢谢你的回答。但我不确定精度的固定大小,在这方面我应该如何使用toFixed(2)