[英]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.