2

重複の可能性:
JavaScript浮動小数点数の問題に対するエレガントな回避策

Javascriptで次の操作を実行した場合:

0.06120*400

結果は24.48です。

ただし、これを行うと:

24.48/400

結果は次のとおりです。

0.061200000000000004

JSFiddle: http: //jsfiddle.net/zcDH7/

では、Javascriptは、除算と乗算を行うときに、物事を異なる方法で丸めているように見えますか?

私の計算機を使用すると、操作24.48/400はの正解になります0.0612

Javascriptの不正確な分割にどのように対処する必要がありますか?さまざまな精度の数値を扱うため、単純に数値を四捨五入することはできません。

アドバイスありがとうございます。

4

1 に答える 1

3

以下を使用するだけで正しい結果を得ることができます。

var a = 24.48/400;
console.log(a.toFixed(6));

そして、typeof a.toFixed(6) === 'string'あなたができるので:

var a = 24.48/400;
console.log(parseFloat(a.toFixed(6)));
  • の引数toFixedは、必要な小数点以下の桁数です。
于 2012-11-17T16:57:49.227 に答える