Python:说服Decimal不使用E符号



我怎样才能摆脱这种重写?

In [38]: Decimal('0.000000000000001')
Out[38]: Decimal('1E-15')

f表示类型的号码调用format,该号码请求定点表示法,可以满足您的要求:

>>> x = decimal.Decimal('0.000000000000000001')
>>> x
Decimal('1E-18')
>>> format(x, 'f')
'0.000000000000000001'

注意format(Decimal(str(a)).normalize(), 'f')不是你想要的,因为Decimal(str(a))是不必要的,normalize可能会降低精度:

>>> x = decimal.Decimal('1.234123412341234123412341234123412341')
>>> x.normalize()
Decimal('1.234123412341234123412341234')

最新更新