3

重複の可能性:
10 進数から末尾のゼロを削除する

Decimal等しいと比較される a の最短表現を取得するにはどうすればよいですか?

例えば:

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

現在、私は最初に文字列に変換する独自の実装を持っています。

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

これは正常に機能し、LOC は 2 つだけです。しかし、これを書くより良い方法はありますか?

4

1 に答える 1

5

これを実現するには、正規化メソッドを使用できます。

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

この回答も参照してください。

于 2012-11-19T17:12:34.037 に答える