たとえば、float 1.1111111111 があり、11111111111 と 10 を取得する必要があります。
メトリックプレフィックスを表示する必要があるため、ポイントごとに変更される可能性のある関数を避けたいです。
文字列では単純に見えるかもしれませんが、JavaScript で適切な方法であるかどうかはわかりません。
たとえば、float 1.1111111111 があり、11111111111 と 10 を取得する必要があります。
メトリックプレフィックスを表示する必要があるため、ポイントごとに変更される可能性のある関数を避けたいです。
文字列では単純に見えるかもしれませんが、JavaScript で適切な方法であるかどうかはわかりません。
モジュラ除算演算子 '%' を使用して、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/
お役に立てれば!