JS为什么有的整数乘小数可以得到正确的结果,有的不可以?

发布于 2022-09-13 01:14:59 字数 188 浏览 23 评论 0

function multiply(arg1, arg2) {
    return arg1*arg2
}
console.log(multiply(20, 8.2))
console.log(multiply(200, 8.2))

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

自由如风 2022-09-20 01:14:59

JS 的浮点数运算采用 IEEE754 标准,运算结果的精度上有什么问题都不奇怪。

你这种情况自己四舍五入就好了。

或者使用 decimal.jsnumber-precision 之类的高精度计算库。

心房敞 2022-09-20 01:14:59

百度搜索IEEE754, 计算机中浮点数的表示规则。
简而言之,计算机中浮点数是不精确的。浮点数的比较不能用相等(==),只能比较一下小误(float1 - float2 < 10E6)。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文