我尝试进行一些浮点比较,这是我发现的:
130 === 130.000000000000014210854715 // true
130 === 130.000000000000014210854716 // false
9 === 9.0000000000000008881784197001 // true
9 === 9.0000000000000008881784197002 // false
0.1 === 0.100000000000000012490009027033 // true
0.1 === 0.100000000000000012490009027034 // false
我尝试在 Firefox 和 Chrome 上运行它们,结果相同。好的,我知道浮点比较是一种不好的做法,并且会出现意外行为。但我只是对这些数字感到好奇,为什么或如何计算这些小数位序列?
如果您希望甚至可以进一步扩展这些序列(下一个序列的二进制搜索)。