将非常小的python Decimal转换为非科学的符号字符串

dmi*_*mi_ 8 python floating-point

我使用Python Decimal类进行精确的浮点运算.我需要将结果编号一致地转换为标准符号数字作为字符串.但是,默认情况下,非常小的十进制数字以科学记数法呈现.

>>> from decimal import Decimal
>>> 
>>> d = Decimal("0.000001")
>>> d
Decimal('0.000001')
>>> str(d)
'0.000001'
>>> d = Decimal("0.000000001")
>>> d
Decimal('1E-9')
>>> str(d)
'1E-9'
Run Code Online (Sandbox Code Playgroud)

我怎么str(d)回来'0.000000001'?

m.w*_*ski 9

'{:f}'.format(d)
Out[12]: '0.000000001'
Run Code Online (Sandbox Code Playgroud)

  • 对于 f 字符串,它看起来像这样:`f"{d:f}"` (2认同)