Issue #9316 has been updated by al2o3cr (Matt Jones). Still fuzzy on the cause, but the behavior is interesting - it appears that something has changed regarding the way that non-terminating decimals are rounded. There's also some magnitude-dependent behavior: 147.2 / 0.099 (and related variants shifting the decimals around) don't always return the same value. Here's a little program to compare the behavior for different offsets: https://gist.github.com/al2o3cr/8175722 Attached to that are also the results of running the script on 2.0.0 and 2.1.0. ---------------------------------------- Bug #9316: BigDecimal division in Ruby 2.1 https://bugs.ruby-lang.org/issues/9316#change-43952 Author: abernardes (Andre Bernardes) Status: Assigned Priority: Normal Assignee: mrkn (Kenta Murata) Category: lib Target version: current: 2.2.0 ruby -v: ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-darwin13.0] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN, 2.1: UNKNOWN =begin When updating an app to Ruby 2.1, and I ran into the following difference between ruby 2.0.0-p353 and ruby 2.1.0 when dividing two BigDecimals: ((*Ruby 2.0.0p353:*)) 2.0.0p353 :002 > (BigDecimal.new("1472.0") / BigDecimal.new("0.99")).to_f => 1486.868686869 ((*Ruby 2.1.0p0:*)) 2.1.0p0 :006 > (BigDecimal.new("1472.0") / BigDecimal.new("0.99")).to_f => 1487.0 =end -- http://bugs.ruby-lang.org/