If I've got a Python Decimal, how can I reliably get the precise decimal string (ie, not scientific notation) representation of the number without trailing zeros?
For example, if I have:
>>> d = Decimal('1e-14')
I would like:
>>> get_decimal_string(d)
'0.00000000000001'
However:
The Decimal class doesn't have any to_decimal_string method, or even any to_radix_string(radix) (cf: https://docs.python.org/3/library/decimal.html#decimal.Context.to_eng_string)
The %f formatter either defaults to rounding to 6 decimal places - '%f' %(d, ) ==> '0.000000' - or requires a precise number of decimal places.
The {:f}.format(...) formatter appears to work - '{:f}'.format(d)
==> '0.00000000000001' - however I'm reluctant to trust