js と科学的記数法

序文

いくつかの例を見てみましょう

let a;
a = 0.0000001;
console.log(a); // 1e-7
a = 0.0000002;
console.log(a); // 2e-7
a = 0.00000008;
console.log(a); // 8e-8
a = -0.0000001;
console.log(a); // -1e-7

科学的表記法

科学的記数法は数字を数える方法です。a に 10 の n 乗を掛ける形式で数値を表します (1≦a<10、n は整数)。科学的表記法を使用して、無駄なスペースと時間を大幅に節約します。

序文の例に基づいて、もう一度試してみましょう。

let a;
a = 0.0000001;
console.log(a); // 1e-7
'0.0000001'.split('.')[1].length; // 7
a = 0.0000002;
console.log(a); // 2e-7
'0.0000002'.split('.')[1].length; // 7

要約ルール: いわゆる 1e-7 は、実際には 1 と 0.1 の 7 乗です。

2e-7 は実際には 2 倍の 0.1 の 7 乗です

したがって: n * 0.1 (つまり e) ∧ x

科学的表記法は計算に影響を与えません

var a = 0.0000002;
var b = 0.0000001;
a + b; // 3e-7
var a =  0.0000001;
a + 2;  // 2.0000002

科学表記法のフロントエンド表示の問題を解決する

科学的記数法は js の計算スペースを節約できますが、フロントエンド ページでの表示に直接使用することはできません。したがって、次のことを行う必要があります。

function getFullNum(num){
    //处理非数字
    if(isNaN(num)){return num};
    //处理不需要转换的数字
    var str = ''+num;
    if(!/e/i.test(str)){return num;};
    return (num).toFixed(18).replace(/\.?0+$/, "");
}
getFullNum(8.1e-7);// 0.00000081

おすすめ

転載: blog.csdn.net/weixin_42274805/article/details/129276571