在 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'
我本来希望截断,但是,它似乎是圆的。所以我选择截断到第十位?
仅供参考,我问是因为我当前的解决方案看起来很笨拙(但也许它是最佳实践?),因为它会生成一个结果字符串,找到句点并在我想要的句点之后找到 X 位数字。