4

Javascriptで次の操作を実行しています。

0.0030 / 0.031

結果を任意の桁数に丸めるにはどうすればよいですか? varウィルが保持する最大数はいくつですか?

4

3 に答える 3

16

最新のブラウザは、 と呼ばれるメソッドをサポートする必要がありますtoFixed()これはウェブから取った例です:

// Example: toFixed(2) when the number has no decimal places
// It will add trailing zeros
var num = 10;
var result = num.toFixed(2); // result will equal 10.00

// Example: toFixed(3) when the number has decimal places
// It will round to the thousandths place
num = 930.9805;
result = num.toFixed(3); // result will equal 930.981

toPrecision()も役に立つかもしれません。そのページには別の優れた例があります。


古いブラウザーの場合は、 を使用して手動で実現できますMath.roundMath.round()最も近い整数に丸めます。小数の精度を達成するには、数値を少し操作する必要があります。

  1. 元の数値に 10^x (10 の x 乗) を掛けます。ここで、x は必要な小数点以下の桁数です。
    • Math.round() を適用
    • 10^x で割る

したがって、5.11111111 を小数点以下 3 桁に丸めるには、次のようにします。

var result=Math.round(5.111111*1000)/1000  //returns 5.111
于 2009-09-02T23:04:58.707 に答える
2

数値型の最大の正の有限値は、約1.7976931348623157 * 10 308です。ECMAScript-262 第 3 版。Number.MAX_VALUEまた、その値を保持するものも定義します。

于 2009-09-03T04:20:03.733 に答える
1

Jag の質問に答えるには:

  1. toFixed() メソッドを使用します。注意してください。数値ではなく文字列を返します。
  2. 十五か十六か。それ以上取得しようとすると、余分な桁はゼロまたはゴミになります。1/3 のようなフォーマットを試して、私の言いたいことを確認してください。
于 2009-09-05T04:27:45.140 に答える