3

可能重复:
从十进制中删除尾随零

如何获得Decimal比较相等的最短表示?

例如:

  • Decimal('89.00')->'89'
  • Decimal('123.010')->'123.01'
  • Decimal('0.0')->'0'

目前,我有自己的实现,它首先转换为字符串,使用

if chanstr.endswith('0'):
    chanstr = chanstr[:chanstr.rfind('.')]

效果很好,只有 2 LOC;但是有没有更好的方法来写这个?

4

1 回答 1

5

您可以使用normalize方法来实现此目的:

In [112]: print(decimal.Decimal("89.00").normalize())
89

另请参阅此答案

于 2012-11-19T17:12:34.037 回答