JavaScript中的大数字被更改
我有一个API,它返回JSON对象,其中的字段在服务器端为long类型。我注意到客户端的数字格式不正确。这是一个示例:JavaScript中的大数字被更改,javascript,Javascript,我有一个API,它返回JSON对象,其中的字段在服务器端为long类型。我注意到客户端的数字格式不正确。这是一个示例: var tmp = JSON.parse("9410110000000363"); console.log(tmp); // output: 9410110000000364 var tmp2 = 9410110000000363; console.log(tmp2); // output: 9410110000000364 你知道为什么吗?JavaScript数字的准确度
var tmp = JSON.parse("9410110000000363");
console.log(tmp); // output: 9410110000000364
var tmp2 = 9410110000000363;
console.log(tmp2); // output: 9410110000000364
你知道为什么吗?JavaScript数字的准确度只有大约
4503599627370496
。请参阅-JS数字(至少在ES.next.next中获得值类型之前)是IEEE 754浮点。有趣的是,941011000000363+1
也是941011000000364
,941011000000363-2
是941011000000362
)@是的,当然是,这就是IEEE754规范的含义。我肯定有重复的地方。这是一个很好的来源。你可以尝试用这个大数字工作