Weirdness of Bigdecimal.new23 Jul 2014
Recently i was bitten by this weirdness of BigDecimal in Ruby.
BigDecimal.new excepts initial value and number of significant
digits. In one of my app,
BigDecimal.new was called with string
initial value without precision. Everything was working great and
suddenly something changed. And this error started coming.
can't omit precision for a Float.
What happened was, the value passed to
BigDecimal.new was no longer
string. Due to some changes in other parts of code, float was passed
Now when a float or rational is passed to
requires precision to be present. Otherwise raises error.
can't omit precision for a Float(/Rational).
Fix was very simple. Pass the precision digits as second argument to