新しいノートブック

Android大好き

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