2016-04-24 65 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

相關問題