0

重複の可能性:
Java 浮動小数点演算 - (フィート/メートルの変換)
Java 浮動小数点演算

Javaで次の問題が発生しています。

この計算 ( 0.196f * 100) は19.599999487400055の代わりに得られ19.6ます。

私は困惑しています。この奇妙な結果が得られる理由と、コードを丸めることでコードを汚染することなく、適切な結果を得られるようにする方法を教えてください。

また、このような問題をより適切に処理する他の jvm 言語はありますか? たとえば、scalaは何か違うでしょうか?

4

1 に答える 1

0

コメントがすでに述べているように、浮動小数点数は常に不正確になります。double被害はそれほど大きくありませんが、それでもまだ被害を受けているため、それらに対処する必要があります.

正確な計算が必要な場合はBigDecimal、演算子を使用できません。

于 2011-11-08T17:04:16.187 に答える