JavaScript编号精神错乱

时间:2014-06-18 04:19:06

标签: javascript numbers

我在javascript中有这个号码 - 1234567890123456789

这个数字显然是一个神奇的数字,因为当被解释时,最低的两位数神奇地变成了零!!!!!!!!通过控制台运行它,你得到:1234567890123456800

但等等 - 更多。试试这个号码:12345678901234568999

控制台输出12345678901234570000

这里发生了什么?我最终迷失了自己的想法还是某种宇宙笑话?

1 个答案:

答案 0 :(得分:1)

JavaScript中的数字是浮点数。因此,超过某个值的整数/数字很容易出现精确错误,正如您亲身经历的那样。

任何大于Number.MAX_SAFE_INTEGER或9007199254740991的数字都会遇到精度问题。也就是说,只保证最多15位数的整数。