我面临以下问题/行为:
console.log(1234567892012.123456); // 1234567892012.1234
console.log(12345678920123.123456); // 12345678920123.123
console.log(123456789201234.123456); // 123456789201234.12
是什么造成的?对于大数字/浮点数,小数位数是否有限?
它与IEEE 754标准有关(如下所述:Is floating point math broken?)?
最后 – 我怎么能解决这个问题呢?
解决方法:
是的,您正在看到64位浮点的固有限制.如果你真的需要一个大小为123,456,789,201,234的小数位数超过两位,你需要某种扩展的算术库. This question有一些建议和讨论.