このコードに問題があります!Javaでコードを実行しようとしていますが、答えはかなり奇妙に思えます。
float a=0.1F;
float b=0.2F;
if((a+b)==0.3){
System.out.println("True");
}
else{
System.out.println("False");
}
答えは : False ですが、理論的には True を返す必要があります。0.15 と 0.15 または 0.05 と 0.25 のように a と b の値を使用すると、関数は True を返します。私は混乱しています。Java/JavaScript などの言語が IEEE-754 数値フォーマットを実装していることをどこかで読んだことがあります。もしそうなら、このフォーマットは何ですか?コードの何が問題なのですか? とにかく数値形式を変更する方法はありますか?