簡體   English   中英

如何在JavaScript中存儲非常大的數字?

[英]How can I store a very very large number in JavaScript?

如果我想存儲一個非常大的數字然后顯示它,該怎么辦? 例如200的階乘。

我怎么能用JavaScript做到這一點?

我嘗試了正常的方法,結果是null或無窮大。

 function fact(input) { if(input == 0) { return 1; } return input * fact(input-1); } var result = fact(171); console.log(result); 

在此輸入圖像描述

我以正常方式嘗試,結果是無窮大或無效。 似乎JavaScript可以生成最多170個因子。

在此輸入圖像描述

看這張圖片。 這個計算器似乎能夠做到。

BigInt數字類型將在未來的JavaScript中實現, 該提議在ECMAScript標准化過程的第3階段, 現在主流瀏覽器支持它。

您可以使用BigInt構造函數或數字文字,方法是在數字的末尾附加一個n

在較舊的環境中,您可以使用polyfill

 function fact(input) { if(input == 0n) { return 1n; } return input * fact(input-1n); } const result = fact(171n); console.log(String(result)); 

試試這個基於javascript的BigInteger庫。 有很多可供選擇。 但我推薦這個https://github.com/peterolson/BigInteger.js

例:

var num = bigInt("9187239176928376598273465972639458726934756929837450")
.plus("78634075162394756297465927364597263489756289346592");

暫無
暫無

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

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