我在JavaScript中使用number数据类型进行了相同的处理
var num = 9223372036854775807;
Run Code Online (Sandbox Code Playgroud)
但是当我尝试在浏览器中打印此变量时
alert(num)
Run Code Online (Sandbox Code Playgroud)
该值更改为9223372036854776000
有任何想法吗?
hug*_*omg 14
Javascript数字实际上是双精度浮点数.可以精确存储的最大整数是2 53,远小于2 63 -1.
alert( Math.pow(2, 53) - 1 ) // 9007199254740991
alert( Math.pow(2, 53) ) // 9007199254740992
alert( Math.pow(2, 53) + 1 ) // 9007199254740992
Run Code Online (Sandbox Code Playgroud)