Project

General

Profile

Bug #12952

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

Added by yui-knk (Kaneko Yuichiro) over 2 years ago. Updated over 2 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 trunk - Feature #12953: (Float, Integer, Rational)#round(half: :down)ClosedActions

History

Updated by mrkn (Kenta Murata) over 2 years ago

  • Assignee set to mrkn (Kenta Murata)
  • Status changed from Open to Assigned
#2

Updated by mrkn (Kenta Murata) over 2 years ago

  • Related to Feature #12953: (Float, Integer, Rational)#round(half: :down) added

Updated by mrkn (Kenta Murata) over 2 years ago

I've fixed this in bigdecimal version 1.3.0.pre, which has already been imported in trunk.

Updated by mrkn (Kenta Murata) over 2 years ago

  • Status changed from Assigned to Closed

Also available in: Atom PDF