我需要像Javascript中的BigInteger
那样将字符串转换为BigInt
示例
var reqId = "78099864177253771992779766288266836166272662";
var result = parseInt(reqId);
document.write(result);
结果值不匹配,因为JavaScript只允许最大为(2^53)-1的整数。
有什么方法可以克服这个问题吗?
发布于 2018-04-23 23:52:35
BigInt
现在是一种原生JavaScript语言特性。它目前处于TC39开发过程的第三阶段,并将在V8 v6.7和Chrome67中发布。
要将包含有效数字文字的字符串转换为BigInt
,请使用全局BigInt
函数:
const string = '78099864177253771992779766288266836166272662';
BigInt(string);
// 78099864177253771992779766288266836166272662n
如果您只想将数值硬编码到代码中,则不需要从字符串转换,而是使用BigInt
文字:
const value = 78099864177253771992779766288266836166272662n;
发布于 2016-04-25 01:59:24
您可以使用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
https://stackoverflow.com/questions/36826748
复制相似问题