Actions
Bug #13880
closed`BigDecimal(string)` should raise on invalid values in `string`
Bug #13880: `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.
Actions