From: gwtmp01@... Date: 2007-01-20T09:33:18+09:00 Subject: Re: Float to Fixnum (was: Negative Float conversion to Fixnum) On Jan 19, 2007, at 4:50 PM, Drew Raines wrote: > And how can 39.30*100 really be 3930.000000000000454747350886464..., > but 39.31*100 be 3931.0? Because 39.30 is a base 10 representation of a number and there is no exact representation of that number in base 2. The Ruby parser has to do a conversion to base 2 for 39.30 long before the multiplication occurs so you aren't really multiplying 39.30*100 but instead you are multiplying 39.2999999999999971578290569595992565155029296875 * 100 to get 3929.99999999999971578290569595992565155029296875 which when truncated to an integer is 3929 Gary Wright