![](/img/trans.png)
[英]How to stop Javascript from rounding numbers after 16 decimal places?
[英]How to stop javascript from formatting numbers?
當您在JS中運行大量代碼時,它的輸出類似於: 1.0328135768135768e+21
。 有沒有辦法讓它輸出一個純整數,即使它很長?
謝謝。
.toString()
方法似乎可以解決問題。 有點:
1.0328135768135768e+21.toString("10");
// "1032813576813576802460"
1.0328135768135768e+50.toString("10")
// "103281357681357664662886440420862446808642642662440"
請注意(如上所示),因為JS處理浮點數,您不僅會得到指定的末尾帶有零的數字。
如果您最終希望所有零都可以自己格式化:
function formatNumber(n) {
var s = n + "",
a = s.split("e");
if (a.length === 1)
return s;
s = a[0].replace(/\./,"");
s += (new Array(+a[1] - s.length + 2).join("0"));
return s;
}
演示: http : //jsfiddle.net/HLQQ9/ (注意: 根本沒有經過全面測試,只是一個半生半熟的主意,我以此為出發點。)
或者周圍有幾個大數字庫。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.