On Thu, 29 Oct 2009, Aldric Giacomoni wrote: > I found this blog entry: > http://raveendran.wordpress.com/2009/06/29/ruby-big-decimal/ > Which shows the following.. > > irb(main):011:0> require 'bigdecimal' > => true > irb(main):012:0> x = BigDecimal("123.6") - BigDecimal("123") > => #<BigDecimal:28c5b84,'0.6E0',4(16)> > irb(main):013:0> puts x.to_f > 0.6 > => nil > irb(main):014:0> puts f=123.6 - 123 > 0.599999999999994 > => nil > irb(main):015:0> 123.6 - 123 > => 0.599999999999994 > irb(main):016:0> 123.6 - 123.0 > => 0.599999999999994 > irb(main):017:0> > > That's a little strange.. Isn't it? No, it's not. Welcome to the wonderfully confusing world of floating point math...