如何在 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中文网其他相关文章!