0.1 + 0.2 === 0.3 为什么返回 false?
在 JS 中,浮点数是以二进制的形式来表示的。而二进制浮点数只有 64 位精度,无法处理 0.1 和 0.2 这种在二进制下无限循环的小数。
因此,当在 JS 中执行 0.1 + 0.2 的计算时,由于无法精确表示这两个数字,它们会被转换成最接近的可表示二进制数,然后再进行计算。这会导致一个微小的误差,最终结果便不为 0.3。
要解决也很简单,直接乘 10 相加后再除 10 即可。
0.1 + 0.2 === 0.3 为什么返回 false?
在 JS 中,浮点数是以二进制的形式来表示的。而二进制浮点数只有 64 位精度,无法处理 0.1 和 0.2 这种在二进制下无限循环的小数。
因此,当在 JS 中执行 0.1 + 0.2 的计算时,由于无法精确表示这两个数字,它们会被转换成最接近的可表示二进制数,然后再进行计算。这会导致一个微小的误差,最终结果便不为 0.3。
要解决也很简单,直接乘 10 相加后再除 10 即可。