最近、次のコードを使用して聞いたことをテストしました
public static void main(String[] args) {
double x = 4.35 * 100;
System.out.println(x);
}
.
これが 435.0 ではなく 434.99999999999994 を生成する理由に興味があります。ありがとう
次のように入力します。
double x = 4.35;
x
そのまま保存されません。近い形で格納されています (この場合はおそらく 4.349999999)。
正確な結果が必要な場合は、 を使用してくださいBigDecimal
。
浮動小数点技術の精度の問題について学ぶことができます。