簡體   English   中英

在JavaScript中打印一個大整數?

[英]Printing a big integer in JavaScript?

我正在嘗試使用JavaScript庫處理名為BigInteger.js的大整數。

具體來說,我正在嘗試打印一個大整數。 但是,我得到的結果令人困惑。 例如,當我嘗試這樣做時:

var x= bigInt("53542885039854749852");
document.write(x+"<br>");

...我得到53542885039854750000 當我嘗試這個:

var x= bigInt("104156103156113102156118165104101120101");
document.write(x+"<br>");

...結果是1.041561031561131e+38

有人可以幫助我理解為什么我沒有得到預期的結果嗎?

您可以使用toString()方法獲取包含所有數字的字符串。

請注意,算術運算符將觸發valueOf函數而不是toString函數。 將bigInteger轉換為字符串時,應使用toString方法或String函數,而不要添加空字符串。

  • bigInt("999999999999999999").toString() => "999999999999999999"
  • String(bigInt("999999999999999999")) => "999999999999999999"
  • bigInt("999999999999999999") + "" => 1000000000000000000

 var x= bigInt("53542885039854749852"); document.write(x + "<br>"); // this calls valueOf document.write(x.valueOf() + "<br>"); document.write(x.toString() + "<br>"); 
 <script src="http://peterolson.github.com/BigInteger.js/BigInteger.min.js"></script> 

要計算某些內容,可以使用該類的方法。

 var y = bigInt("104156103156113102156118165104101120101"); document.write(y.plus(1).toString() + "<br>"); document.write(y.multiply(2).toString() + "<br>"); document.write(y.plus(y).toString() + "<br>"); 
 <script src="http://peterolson.github.com/BigInteger.js/BigInteger.min.js"></script> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM