From: "dmarkow (Dylan Markow)" Date: 2013-12-30T00:46:24+09:00 Subject: [ruby-core:59376] [ruby-trunk - Bug #9316] BigDecimal division in Ruby 2.1 Issue #9316 has been updated by dmarkow (Dylan Markow). =begin Also, it appears to only happen when the right side number is less than 1: >> BigDecimal.new("1472.0") / BigDecimal.new("0.99") 1487.0 # Should be 1486.868686869 >> BigDecimal.new("1472.0") / BigDecimal.new("1.0") 1472.0 # Correct >> BigDecimal.new("1472.0") / BigDecimal.new("1.01") 1457.425742574257425743 # Correct =end ---------------------------------------- Bug #9316: BigDecimal division in Ruby 2.1 https://bugs.ruby-lang.org/issues/9316#change-43941 Author: abernardes (Andre Bernardes) Status: Open Priority: Normal Assignee: Category: lib Target version: 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/