Different behavior for BigDecimal#floor in Ruby 1.8 and Ruby 1.9

Posted . Visible to the public.

Ruby 1.8 (supplied by Rails' ActiveSupport)

>> BigDecimal.new("0.1").floor.class
=> BigDecimal

Ruby 1.9 (supplied by Ruby 1.9 itself)

>> BigDecimal.new("0.1").floor.class
=> Fixnum

In fact, Float#floor has changed from Ruby1.8 Show archive.org snapshot to Ruby 1.9 Show archive.org snapshot which is used by BigDecimal#floor internally.

Attached initializer backports Ruby 1.9 behavior to Ruby 1.8.

Ulrich Berkmueller
Last edit
Attachments
License
Source code in this card is licensed under the MIT License.
Posted by Ulrich Berkmueller to makandra dev (2013-03-15 08:39)