Bug #13062 ยป fix_13062_string_to_d.patch
ext/bigdecimal/lib/bigdecimal/util.rb | ||
---|---|---|
# # => 0.5e0
|
||
#
|
||
def to_d
|
||
BigDecimal(self)
|
||
begin
|
||
BigDecimal(self)
|
||
rescue ArgumentError
|
||
BigDecimal(0)
|
||
end
|
||
end
|
||
end
|
||
test/bigdecimal/test_bigdecimal_util.rb | ||
---|---|---|
def test_Rational_to_d_with_negative_precision
|
||
assert_raise(ArgumentError) { 355.quo(113).to_d(-42) }
|
||
end
|
||
def test_String_to_d
|
||
assert_equal("2.5".to_d, BigDecimal.new('2.5'))
|
||
end
|
||
def test_invalid_String_to_d
|
||
assert_equal("invalid".to_d, BigDecimal.new('0.0'))
|
||
end
|
||
end
|