[英]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.