>>323
浮動小数点だから

何かを計算した結果の浮動小数点の値と、
それ以外の数式で何かを計算した(あるいは計算していない)浮動小数点の値が、
全く同じになるというようなことはふつう無い

だから、小数を含んでいる数値は絶対にイコールで比較してはいけない

どうしても比較したい場合は、たとえばその差を誤差並に小さな数 Float::EPSILON と比較する

irb> (3.2 - 2.0) -1.2 < Float::EPSILON
false
irb> (3.2 - 2.0) -1.2 < Float::EPSILON*10
true

10倍や100倍以内なら同じ数値とみなしてよい