From: "Glen F. Pankow" Date: 2009-12-02T05:24:16+09:00 Subject: Re: Float Arithmetic: Return A Fixnum When Float == Fixnum Marnen Laibow-Koser wrote: > MaggotChild wrote: >> On Dec 1, 5:52�am, Marnen Laibow-Koser wrote: >>> The notation is misleading. �It's not a question of precision, but of >>> type. �You can think of 2.0 as 2:Float, not 2 to 2 significant figures. >> Yes, I do, but when it comes to printing, Float does not. > > You can always redefine Float.to_s. Changing the underlying type, > though, is probably a poor idea. > >>>>>> j == j.to_i ? j.to_i : j >>>> => 2 >>>> Is there a "better" way? >>> Why even bother? >> OCD > > Apply your OCD in the right places, though! :) > > Best, > -- > Marnen Laibow-Koser > http://www.marnen.org > marnen@marnen.org Ugly, but what the hey: j = 2.0 sprintf('%g', j) --> "2" j = 2.50000001 sprintf('%g', j) --> "2.5" Works on integers, too: j = 2 sprintf('%g', j) --> "2" Glen