为什么要尝试将 2.05 与 1.01 相加 返回这个值?
console.log(2.05+1.01); // -> 3.0599999999999996?
使用 toFixed() 是解决这个问题的唯一方法吗?
console.log((2.05+1.01).toFixed(2))
如何避免这种行为,这样它就不会在代码的内部计算中让我感到惊讶。
最佳答案
这是因为 javascript 的浮点精度最多只能达到 14 位。唯一真正的解决方法是将每个数字乘以一个高数字或按照您所说的操作。
关于javascript - 如何避免 Javascript 奇怪的 Float 行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32343082/