From: "ariveira (Alexandre Riveira)" Date: 2014-01-03T10:52:53+09:00 Subject: [ruby-core:59492] [ruby-trunk - Bug #9316] BigDecimal division in Ruby 2.1 Issue #9316 has been updated by ariveira (Alexandre Riveira). When upgrading to ruby 2.1 calculate a percentage in our system broke example v1 = BigDecimal.new("0.94") v2 = BigDecimal.new("0.97") puts (((v2 - v1) * 100) / v1).to_f ruby 2.0 => 3.191489362 ruby 2.1 => 3.0 ---------------------------------------- Bug #9316: BigDecimal division in Ruby 2.1 https://bugs.ruby-lang.org/issues/9316#change-44040 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/