4

たとえば、float 1.1111111111 があり、11111111111 と 10 を取得する必要があります。

メトリックプレフィックスを表示する必要があるため、ポイントごとに変更される可能性のある関数を避けたいです。

文字列では単純に見えるかもしれませんが、JavaScript で適切な方法であるかどうかはわかりません。

4

1 に答える 1

8

モジュラ除算演算子 '%' を使用して、JS で除算の余りを取得できます。これは、浮動小数点数を 1 で剰余除算すると、小数点以下の値が得られることを意味します。さらに、小数点以下がなくなるまで 10 を掛けるループを作成すると、元の数に掛けて整数を得ることができる最小の 10 の累乗を見つけることができます。

以下の例:

function getE(floatingPointValue)
{
    var x = floatingPointValue;
    var digitsAfterDecimal = 0;
    while(x % 1 != 0)
    {
        x = x * 10;
        digitsAfterDecimal++;
    }
    return x.toString() + " *10^-" + digitsAfterDecimal;
}

フィドル: http://jsfiddle.net/L8XtP/2/

お役に立てれば!

于 2013-05-20T17:48:53.603 に答える