使用Python的decimal.Decimal时删除无关的小数位

时间:2013-08-22 14:22:35

标签: python decimal rounding

当使用Python的decimal.Decimal类时,我们现在需要删除多余的小数位。因此,例如'0.00'变为'0','0.50'变为'0.5'。有没有比转换为字符串并手动删除尾随零和句号更清晰的方法?

为了澄清我们需要能够在不知道小数位数的情况下动态舍入结果,并且如果不需要小数位则可能输出一个整数(或一个字符串表示)...这是否已经构建-in到Python?

1 个答案:

答案 0 :(得分:4)

使用Decimal.normalize

>>> Decimal('0.00').normalize()
Decimal('0')
>>> Decimal('0.50').normalize()
Decimal('0.5')