Issue #2608 has been updated by Marc-Andre Lafortune.

Category set to core
Status changed from Open to Rejected
Priority changed from High to Normal

It is expected, because floats are approximations.

a = 19.99 * 100
puts a.round  # Prints out 1999

require 'bigdecimal'
b = BigDecimal.new("19.99") * 100
puts b.to_i  # Prints out 1999

----------------------------------------
http://redmine.ruby-lang.org/issues/show/2608

----------------------------------------
http://redmine.ruby-lang.org