Javaの浮動小数点比較はcompareメソッドを利用しよう
浮動小数点の比較するためのcompareメソッドが用意されています。
一致する場合は0、そうでない場合は1を返します。
// 差分なしなら0 ありなら1 int diff = Float.compare(float1, float2); if(diff == 0) { // do something }
’==’の比較がなぜだめか
NaNやInfinityな場合があったり、打ち切り誤差が生じることがあるため、 想定した結果と違ってしまう場合があります。
参考URL
下記で詳しく解説してます。
http://msugai.fc2web.com/java/class/DecimalTips.html