Project

General

Profile

Bug #12952

Incompatibility of a method signature between `Float#round` and `BigDecimal#round`

Added by yui-knk (Kaneko Yuichiro) over 3 years ago. Updated over 3 years ago.

Status:
Closed
Priority:
Normal
Target version:
-
ruby -v:
ruby 2.4.0preview3 (2016-11-07 trunk 56661) [x86_64-darwin14]
[ruby-core:78191]

Description

We can not call BigDecimal("0.5").round(half: :up).
This prevents us from duck typing Float objects and BigDecimal objects.

irb(main):001:0> require "bigdecimal"
=> true
irb(main):002:0> 0.5.round(half: :up)
=> 1
irb(main):003:0> BigDecimal("0.5").round(half: :up)
TypeError: no implicit conversion of Hash into Integer
    from (irb):3:in `round'
    from (irb):3
    from /Users/kaneko/.rbenv/versions/2.4.0-preview3/bin/irb:11:in `<main>'
irb(main):004:0> BigDecimal.ver
=> "1.1.0"

Related issues

Related to Ruby master - Feature #12953: (Float, Integer, Rational)#round(half: :down)ClosedActions

Also available in: Atom PDF