答案 0 :(得分:2)
这是因为您使用的数字大于Number.MAX_SAFE_INTEGER
且Javascript不保证正确表示这些数字
使用Number.isSafeInteger
检查:
> Number.isSafeInteger(Number('111111111111111111'))
< false
答案 1 :(得分:2)
在JS中,最大的整数值是9007199254740991
也就是说,所有正整数和负整数不应分别超过-9007199254740991
和9007199254740991
。
同样定义为2 53 -1。
console.log(Number.isSafeInteger(parseInt('1111111111')))
console.log(parseInt('1111111111'))
console.log(Number.isSafeInteger(parseInt('111111111111111111')))
console.log(parseInt('111111111111111111'))
//9007199254740991 - The largest JS Number
console.log(Number.isSafeInteger(parseInt('9007199254740991')))
&#13;