From: Todd Benson Date: 2008-08-05T09:18:14+09:00 Subject: Re: [BUG?] Strange behavior in Integer On Mon, Aug 4, 2008 at 5:02 PM, Sebastian Hungerecker wrote: > Joe Davison wrote: >> Integer(33.80 * 100) ==> 3379 >> >> however, >> >> Integer(3.380 * 1000) ==> 3380 >> >> Doesn't seem like a floating point round off error. > >>> "%.30f" % (33.80 * 100) > => "3379.999999999999545252649113535881" > > Seems like one to me. > > HTH, > Sebastian Just playing around a little (no exhaustive testing), but it seems like this only happens with a number string matching /\A3[2-9]\.[38]0*\Z/ (for nubies, a number that is in the closed interval 32 to 40 with a following 3 or 8 in the decimal place and nothing after it except for zero or more zeros). Weird. There might be other cases. I'm using the 1.8.7 ruby ver, btw. Todd