Actions
Bug #11947
closedBigDecimal#coerce: unexpected behavior with Float
Description
I've noticed that:
BigDecimal('2') + 1 # => BigDecimal(3), OK
1 + BigDecimal('2') # => BigDecimal(3), OK
# whereas
BigDecimal('2') + 1.1 # => BigDecimal(3.1), OK
1.1 + BigDecimal('2') # => Float(3.1), WHY?
I was expecting the latest to return a BigDecimal but it retuns a Float. In the unit tests for bigdecimal, one can find the following test:
assert_equal(2, 1 + BigDecimal.new("1"), '[ruby-core:25697]')
May be this behavior is required but I haven't found any reason for this.
Regards,
Lionel
Updated by mrkn (Kenta Murata) almost 9 years ago
- Status changed from Open to Assigned
- Assignee set to mrkn (Kenta Murata)
Updated by mrkn (Kenta Murata) almost 8 years ago
- Status changed from Assigned to Closed
This fixed on the current master branch of ruby/bigdecimal repository.
So I close this issue.
Actions
Like0
Like0Like0