簡體   English   中英

有沒有辦法截斷 Javascript 中的科學記數法數字?

[英]Is there a way to truncate scientific notation numbers in Javascript?

眾所周知,因為它是關於 SO 的最受關注的話題之一,所以我遇到了舍入錯誤的問題(這實際上不是錯誤,我很清楚)。 我將舉例說明我有哪些可能的數字以及我希望能夠獲得哪些輸入,而不是解釋我的觀點:

比方說

var a = 15 * 1e-9;
alert(a)

輸出

1.5000000000000002e-8

我希望能夠獲得1.5e-8 ,但我不能只乘以 10e8、四舍五入並除以 10e8,因為我不知道它是 e-8 還是 e-45 或其他任何東西。

所以基本上我希望能夠獲得1.5000002部分,應用toFixed(3)並放回指數部分。

我可以轉換成字符串並解析,但它似乎不正確......

任何想法?


(如果您覺得這是許多重復項之一,我提前道歉,但我找不到類似的問題,只有相關的問題)

蓋爾

您可以使用toPrecision方法:

var a = 15 * 1e-9;
a.toPrecision(2); // "1.5e-8"

如果您正在進行科學工作並需要考慮重要數字: 四舍五入到任意數字的有效數字

變量 a = 15 * 1e-9;

console.log(Number.parseFloat(a).toExponential(2));

//上面的公式將在控制台中顯示結果為:“1.50e-8”

暫無
暫無

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

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