From: hemant Date: 2007-12-05T20:54:08+09:00 Subject: Re: what's wrong with these calculations? On Dec 5, 2007 5:22 PM, hemant wrote: > On Dec 5, 2007 5:00 PM, Ivo Dancet wrote: > > Hi > > > > I thought, why search for two hours being totally frustrated if I can > > just ask... > > > > why does this happen: > > > > >> 73.07-63.00 > > => 10.07 # ok, normal! > > >> 73.07-64.00 > > => 9.06999999999999 # why oh why? > > Thats folly of floats, you can't do much apart from : > > sprintf("%.2f",(73.07-64.00)).to_f > generally, I add a method to Float class like this: class Float def r2p places sprintf("%.#{places}f",self).to_f end end