如果Javascript的“严格比较”运算符与传统运算符之间的主要区别是类型强制,为什么会这样做
0.1+0.2===0.3;
返回false?
答案 0 :(得分:3)
在Firefox和Chrome中,0.1 + 0.2
为0.30000000000000004
,不等于0.3
。这可能是由于无法将0.1
完全表示为浮点数而引起的。
答案 1 :(得分:0)
因为0.1很棘手
它的无理性以二进制形式重复出现(见评论)
EDIT
实际上我在这里wing,我肯定不知道。有没有可以反驳或提供证据的Math.boffin?
会非常有趣