在任何网页的控制台中,我都这样做:
console.log(11111111111111111);
结果是:
11111111111111112
所以我真的很困惑,试图添加1并看看会发生什么:
111111111111111111
- > 111111111111111100
1111111111111111111
- > 1111111111111111200
11111111111111111111
- > 11111111111111110000
111111111111111111111
- > 111111111111111110000
我疯了吗? 是什么导致这种情况发生?
这是打算吗?这是Javascript的错误吗?
注意:我很确定它不是整数溢出或其他东西,因为添加一个1
更多是1.1111111111111111e+21
这是正确的。
这个问题与this one不同,因为我并不是在询问可以准确表示的数字限制,我要求的更多:
为什么11111111111111111
- > 11111111111111112
代替11111111111111111
- > 1.1111111111111111e+16
(科学记数法)