2016-04-24 67 views
1
为bigint

我需要一个字符串转换在Javascript为bigint像BigInteger如何转换为字符串在JavaScript

var reqId = "78099864177253771992779766288266836166272662"; 
var result = parseInt(reqId); 
document.write(result); 

因为JavaScript的不匹配结果值允许最多53

有什么办法可以解决这个问题吗?

+2

JavaScript本身并没有“BigInteger”这样的东西。有一些软件包可以做无限精度的定点数学。所有JavaScript编号都是64位浮点值。 – Pointy

+0

我在这里看不到java ...为什么你把这个标记为java问题? –

+0

如何使用其他包做无限精度,你有什么想法吗? – rselvaganesh

回答

-4

您可以使用构造函数从所述字符串中构造一个新的BigInteger对象。 BigInteger Constructor

+0

不是JavaScript,你不能。 – bmceldowney

+0

这是为java ...是否有任何其他包或JS可用于在JavaScript中实现此功能 – rselvaganesh

0

您可以使用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 
0

您可以使用NumberparseFloat。无论哪种方式,你会得到科学的数字:

new Number('78099864177253771992779766288266836166272662') 

parseFloat('78099864177253771992779766288266836166272662') 

结果:

7.809986417725377e+43 
2

您可以使用JavaScript的lib称为BigInteger.js为purpose.it是一种用于Javascript的任意长度整数库允许对无限大小的整数进行算术运算,尽管存在内存和时间限制。 This lib can be download from this link .Like var largeNumber = bigInt("75643564363473453456342378564387956906736546456235345"); 你可以在这里找到lib的文档https://www.npmjs.com/package/big-integer

相关问题