将100.1 + 0.1的正确结果计算为字符串

时间:2015-01-17 13:01:05

标签: python

如果我计算了一些浮点样本的结果

>>> 100.1+0.1
100.19999999999999

如何获得正确的字符串“100.2”?
我使用Py3.2 / Win。

1 个答案:

答案 0 :(得分:3)

使用decimal.Decimal正确执行十进制浮点运算:

>>> import decimal
>>> decimal.Decimal('100.1') + decimal.Decimal('0.1')
Decimal('100.2')
>>> str(decimal.Decimal('100.1') + decimal.Decimal('0.1'))
'100.2'