Python 2.7.3 では、これが現在の動作です。
>>> 8./9.
0.8888888888888888
>>> '%.1f' % (8./9.)
'0.9'
sについても同じことが言えますDecimal
:
>>> from decimal import Decimal
>>> Decimal(8) / Decimal(9)
Decimal('0.8888888888888888888888888889')
>>> '%.1f' % (Decimal(8) / Decimal(9))
'0.9'
切り捨てを期待していましたが、丸くなっているようです。では、10 分の 1 位まで切り捨てるオプションはありますか?
参考までに、私の現在のソリューションはハックに見えるのでお願いします (しかし、おそらくベスト プラクティスでしょうか?) 結果の文字列を作成し、ピリオドを見つけ、必要なピリオドの後に X 桁を見つけるだけです。