rse*_*esh 8 javascript biginteger bigint node.js
我需要像BigIntegerJavascript 一样将字符串转换为bigint
例
var reqId = "78099864177253771992779766288266836166272662";
var result = parseInt(reqId);
document.write(result);
Run Code Online (Sandbox Code Playgroud)
由于JavaScript允许整数最多为2 ^ 53,因此结果值不匹配.
有没有办法克服这个问题?
Mat*_*ens 23
BigInt现在是一种原生的JavaScript语言功能.它处于TC39流程的第3阶段,它在V8 v6.7和Chrome 67中发布.
要将包含有效数字文字的字符串转换为a BigInt,请使用全局BigInt函数:
const string = '78099864177253771992779766288266836166272662';
BigInt(string);
// 78099864177253771992779766288266836166272662n
Run Code Online (Sandbox Code Playgroud)
如果您只想将数值硬编码到代码中,则无需从字符串转换; 使用BigInt文字代替:
const value = 78099864177253771992779766288266836166272662n;
Run Code Online (Sandbox Code Playgroud)
您可以使用名为BigInteger.js 的JavaScript 库来实现此目的。它是 JavaScript 的任意长度整数库,允许对无限大小的整数进行算术运算,而不受内存和时间限制。该库可以从此链接下载。var largeNumber = bigInt("75643564363473453456342378564387956906736546456235345");
您可以在此处找到该库的文档https://www.npmjs.com/package/big-integer
您可以使用mathjs:
var reqId = "78099864177253771992779766288266836166272662";
var myBigNumber = math.bignumber(reqId);
var res = math.add(myBigNumber, 1);
console.log(myBigNumber.toString());
// 7.8099864177253771992779766288266836166272662e+43
console.log(res.toString());
// 7.8099864177253771992779766288266836166272663e+43
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15700 次 |
| 最近记录: |