Actions
Bug #12414
closedFloatDomainError in infinite Range#include? for certain BigDecimals
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.3p173 (2015-08-18 revision 51636) [x86_64-darwin14]
Backport:
Description
What I did¶
require 'bigdecimal'
r = 0.04...(Float::INFINITY)
n = BigDecimal.new('0.13E0')
r.include?(n.to_f)
r.include?(n)
What I expected¶
true
true
What happens instead¶
true
FloatDomainError: Infinity
from (irb):19:in `to_r'
from (irb):19:in `<=>'
from (irb):19:in `include?'
from (irb):19
from /Users/msiegel/.rvm/rubies/ruby-2.2.3/bin/irb:15:in `<main>'
Workaround¶
To workaround, I am calling #to_f
on the BigDecimal
before submitting it to the Range#include?
Note that this exception only occurs for certain BigDecimal values, not for all.
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0