为什么Javasript的严格比较会有这样的表现?

发布于 2024-08-21 20:18:48 字数 284 浏览 9 评论 0原文

可能的重复:
JavaScript 的数学是否有问题?

JavaScript 的“严格比较”运算符与传统运算符之间的主要区别是类型强制,为什么

0.1+0.2===0.3;

返回false?

Possible Duplicate:
Is JavaScript’s math broken?

If the main difference between Javascript's "strict comparison" operators and the traditional ones is type coercion, why does

0.1+0.2===0.3;

return false?

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

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

发布评论

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

评论(2

笑,眼淚并存 2024-08-28 20:18:49

因为 0.1 很棘手
它是非理性以二进制形式重复出现(参见评论)

编辑
实际上我只是即兴发挥,我不确定。是否有 Math.boffin 可以反驳或提供证明?
会很有趣的

because 0.1 is tricky
it's irrational recurring in binary (see comments)

EDIT
actually I'm winging it here, I don't know that for sure. Is there a Math.boffin out there who can disprove or provide a proof?
would be very interesting

野味少女 2024-08-28 20:18:48

在 Firefox 和 Chrome 中,0.1 + 0.20.30000000000000004,它不等于 0.3。这可能是由于无法将 0.1 精确地表示为浮点数所致。

In Firefox and Chrome, 0.1 + 0.2 is 0.30000000000000004, which is not equal to 0.3. This is presumably caused by it not being possible to represent 0.1 exactly as a floating point number.

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