是否有更可读或Pythonic方式将Decimal格式化为2个位置?

Two*_*ist 0 python decimal rounding

用于将Decimal修复为两个位置的语法是怎么回事?

>>> from decimal import Decimal
>>> num = Decimal('1.0')
>>> num.quantize(Decimal(10) ** -2) # seriously?!
Decimal('1.00')
Run Code Online (Sandbox Code Playgroud)

是否有更好的方式一目了然看起来不那么深奥?'量化十进制'听起来就像是"星际迷航"的一集中的技术!

Mar*_*ers 6

使用字符串格式:

>>> from decimal import Decimal
>>> num = Decimal('1.0')
>>> format(num, '.2f')
'1.00'
Run Code Online (Sandbox Code Playgroud)

format()函数将字符串格式应用于值.Decimal()对象可以像浮点值一样格式化.

您也可以使用它来插入格式化的十进制值是一个更大的字符串:

>>> 'Value of num: {:.2f}'.format(num)
'Value of num: 1.00'
Run Code Online (Sandbox Code Playgroud)

请参阅格式字符串语法文档.

除非您确切知道自己在做什么,否则通过量化扩展有效位数是不可取的; 量化是会计软件包的秘密,通常的目的是将结果舍入到较少的有效数字.