JavaScript中的大数字被更改

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数字的准确度

我有一个API,它返回JSON对象,其中的字段在服务器端为long类型。我注意到客户端的数字格式不正确。这是一个示例:

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规范的含义。我肯定有重复的地方。这是一个很好的来源。你可以尝试用这个大数字工作