我有以下代码:
var str = "0x4000000000000000"; //4611686018427387904 decimal
var val = parseInt(str);
alert(val);
我得到这个值:"4611686018427388000
",它是0x4000000000000060
我想知道是JavaScript错误地处理了64位整数,还是我做错了什么?
发布于 2012-03-10 11:18:49
发布于 2018-06-07 00:38:54
Chromium版本57和更高版本本身就支持任意精度的整数。这就是所谓的BigInt,对于其他浏览器也是being worked on。它比JavaScript实现更dramatically faster。
https://stackoverflow.com/questions/9643626
复制相似问题