javascript - JavaScript 是否支持 64 位整数?

标签 javascript numbers integer 64-bit

我有以下代码:

var str = "0x4000000000000000";   //4611686018427387904 decimal
var val = parseInt(str);
alert(val);

我得到这个值:“4611686018427388000”,即 0x4000000000000060

我在想,是 JavaScript 对 64 位整数的处理不当还是我做错了什么?

最佳答案

JavaScript 使用 IEEE-754 表示数字 double (64 位)格式。据我了解,这为您提供了 53 位精度,或十五到十六位十进制数字。您的数字的位数超出了 JavaScript 的处理能力,因此您最终得到一个近似值。

这并不是真正的“处理不当”,但如果您需要对大量数据进行完全精确处理,显然它不是很有帮助。周围有一些 JS 库可以处理更大的数字,例如 BigNumberInt64 .

关于javascript - JavaScript 是否支持 64 位整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9643626/

相关文章:

python - 在 Python 中减去 8 位整数

javascript - 如何在 Marionette .js +backbone 中加载 html 文件?

ios - 如何在swift中创建数字范围

JavaScript 从字符串中获取数字

PHP Curl,我在哪里可以找到常量的整数等价物列表

c - 整数指针和 'incompatible pointer type warning'

javascript - 使用 Q 用异步调用填充数组

javascript - ReactJS - 渲染调用,但 DOM 未更新

javascript - 关于 express 消息。我无法获取我制作的模板

java - Long vs Integer,long vs int,什么时候使用?