javascript - 在 Javascript 中将字符串转换为大整数?

标签 javascript string integer biginteger data-conversion

我正在尝试将字符串转换为大整数以执行一些算术计算。但是,当我尝试这样做时:

Number("9007199254740993")

...我得到了这个意想不到的结果:

9007199254740992

我怀疑这可能是因为 Number 能够处理的整数大小有限制。

基本上,我想检查两个字符串是否是连续的数字。由于 Number 没有返回正确的值,我得到了 "9007199254740993""9007199254740992" 的错误差异。具体来说,我期待 1,但得到 0。

我考虑过的一种可能性是将每个数字除以一个因子,使每个数字更小。还有其他解决办法吗?

最佳答案

Javascript 的 Number 类型是 numeric data type in the double-precision 64-bit floating point format (IEEE 754) .

如果您要处理大整数,请使用 BigInt或相应的库。

关于javascript - 在 Javascript 中将字符串转换为大整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53971935/

相关文章:

javascript - 如何在组件中设置对象数组?

JavaScript 比较两个数组(键/值对),如果键匹配,则将值从一个数组复制到另一个数组

string - 为什么 String 在 Rust 中隐式转换为 &str?

java - 为什么我的程序超出了时间限制?

c# - 如何在 C# 中将字符串格式化为电话号码

java - 在 Java 中验证输入类型和整数范围

javascript - Node 调度运行任务太多次

javascript - JavaScript 文件中的 Node.js 敏感信息?

java - 为什么这个时间单位转换返回零?

c++ - 如何比较来自用户c++的两个整数的每个数字