I can understand floating point errors, but this one seems too small 
for that.
Especially given this:

irb(main):023:0> v=100.0*9.95
=> 995
irb(main):024:0> v.to_i
=> 994


irb(main):016:0> (100.0*9.95).to_i
=> 994
irb(main):017:0> (100*9.95).to_i
=> 994
irb(main):018:0> (100*9.95+0.0000000000001).to_i
=> 995
irb(main):019:0> RUBY_VERSION
=> "1.8.1"
irb(main):020:0> RUBY_PLATFORM
=> "sparc-solaris2.8"


irb(main):020:0> (100.0*9.95).to_i
=> 994
irb(main):021:0> (100*9.95).to_i
=> 994
irb(main):022:0> (100*9.95+0.0000000000001).to_i
=> 995
irb(main):023:0> RUBY_VERSION
=> "1.6.8"
irb(main):024:0> RUBY_PLATFORM
=> "powerpc-darwin7.0"

Dan