From: Tim Hunter Date: 2009-06-19T06:15:12+09:00 Subject: Re: floating point accuracy in JRuby Steven D. Arnold wrote: > [ 03:23 PM (5) omega:thoth ~ ] > jirb > irb(main):001:0> 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 > => 0.9999999999999999 > [ 03:33 PM (8) omega:thoth ~ ] > irb > >> 0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1+0.1 > => 1.0 > > Disappointing that JRuby does not handle floating point numbers (a) in > the the same way as CRuby and (b) not as accurately. Is the cost of > implementing CRuby's behavior prohibitively high on the JVM, is there a > fix planned in the future? How would JRuby users recommend handling > currency on that platform? > > steven > > I don't think it's a good idea to use binary floating-point numbers for currency in any language or any platform. See the numerous previous discussions of binary vs. decimal arithmetic on this list. Use integer cents instead, or BigDecimal. -- MagickWand for Ruby - http://magickwand.rubyforge.org/