如何在 JavaScript 中列印沒有科學記數法的大數字?
JavaScript 在使用時自動將 21 位元以上的整數轉換為科學記數法在字串上下文中。當您需要顯示大量數字(例如在 URL 中)時,這可能會出現問題。
解決方案:
要防止轉換為科學記數法,您可以使用一種以下的methods:
Number. toFixed:
此方法可用來固定小數位數,但對於大於或等於1e21 的數字使用科學記數法.
自訂功能:
您可以建立一個自訂函數來處理此轉換:
function toFixed(x) { if (Math.abs(x) < 1.0) { var e = parseInt(x.toString().split('e-')[1]); if (e) { x *= Math.pow(10,e-1); x = '0.' + (new Array(e)).join('0') + x.toString().substring(2); } } else { var e = parseInt(x.toString().split('+')[1]); if (e > 20) { e -= 20; x /= Math.pow(10,e); x += (new Array(e+1)).join('0'); } } return x; }
BigInt:
JavaScript 現在原生支持BigInt(受基於 Chromium 的瀏覽器和 Firefox 支援)。您可以使用 BigInt 來表示和處理大整數,而無需擔心科學計數法:
const n = 13523563246234613317632; console.log("BigInt: " + BigInt(n).toString());
以上是在 JavaScript 中列印大數字時如何避免科學記數法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!