FLOATで誤差が出る例

FLOATで誤差が出るというのは良く言われているわけだが、具体的な例を挙げろと言われると中々見つけるのが困難だったりしたのだが、ちょうど良い例を見つけたので、メモ。

irb(main):001:0> 7.2
=> 7.2
irb(main):002:0> 6.0 * 1.2
=> 7.2
irb(main):003:0> 7.2 == 6.0 * 1.2
=> false
irb(main):004:0> sprintf("%.20f", 6.0 * 1.2)
=> "7.19999999999999928946"
irb(main):005:0> sprintf("%.20f", 7.2)
=> "7.20000000000000017764"