javascript - 如何避免 Javascript 奇怪的 Float 行为?

标签 javascript floating-point tofixed

为什么要尝试将 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/

相关文章:

java - 科学计算中如何处理下溢?

javascript - .toFixed 方法前的空格字符

javascript - 防止 toFixed 对非常小的小数进行四舍五入

javascript - Vue.js : how to filter a table with a custom filter

C# 值比较

ruby-on-rails - rails - float 精度

javascript - Mustache.js lambdas 和数字格式化 toFixed

javascript - DOMContentLoaded 事件不会触发

javascript - 关闭确认弹出窗口后出现模态对话框(Selenium::WebDriver::Error::UnhandledAlertError)

javascript - 无法访问span标签的innerHTML