十进制零填充
我需要把小数以价格的格式输出,
也就是说,
10 = 10.00
11.1 = 11.10
我该如何使用decimal.Decimal类来实现这个呢?
pad_zero(Decimal('10.0'))
>>>Decimal('10.00')
*编辑:*format方法不太符合我的需求,因为我需要把它作为小数传递。我明白我可以在之后再转换回来,但这种来回转换感觉有点不太符合Python的风格。
8 个回答
2
在Python的decimal模块文档中,有一个很好的例子,教你怎么把Decimal对象格式化成“货币格式的字符串”。
我有点惊讶,这个过程竟然这么麻烦——通常在Python中,格式化操作都是比较简单的。
3
在进行货币计算时,我更喜欢这样做。
>>> penny=Decimal('0.01')
>>> Decimal('10').quantize(penny)
Decimal('10.00')
虽然说得比较多,但很清楚。
在格式化货币时,我使用 format()
。
7
试试这个:
Decimal('10.0').quantize(Decimal('1.00'))