Actions
Bug #13880
closed`BigDecimal(string)` should raise on invalid values in `string`
Description
Right now BigDecimal()
behaviour differs from Integer()
and Float()
:
2.4.1 :001 > require 'bigdecimal'
=> true
2.4.1 :002 > BigDecimal('1,')
=> 0.1e1
2.4.1 :003 > Integer('1,')
ArgumentError: invalid value for Integer(): "1,"
from (irb):3:in `Integer'
from (irb):3
from /home/ojab/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'
2.4.1 :004 > Float('1,')
ArgumentError: invalid value for Float(): "1,"
from (irb):4:in `Float'
from (irb):4
from /home/ojab/.rvm/rubies/ruby-2.4.1/bin/irb:11:in `<main>'
and right now AFAIU there is no way to convert, for example, String to BigDecimal with validation.
I think that BigDecimal()
should likewise raise for consistency, 'bigdecimal/util' & .to_d
can be used for conversion without checks analogous to .to_f
/.to_i
/etc.
Updated by ojab (ojab ojab) about 7 years ago
- ruby -v set to ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-linux]
Updated by mrkn (Kenta Murata) almost 7 years ago
- Status changed from Open to Assigned
- Assignee set to mrkn (Kenta Murata)
Updated by mrkn (Kenta Murata) almost 7 years ago
Updated by mrkn (Kenta Murata) almost 6 years ago
- Status changed from Assigned to Closed
Fixed in r66222
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0