2

If i calc result of some float samples

>>> 100.1+0.1
100.19999999999999

how to get correct string "100.2"?
I use Py3.2 / Win.

Prog1020
  • 4,530
  • 8
  • 31
  • 65

1 Answers1

3

Use decimal.Decimal to do decimal floating point arithmetic correctly:

>>> import decimal
>>> decimal.Decimal('100.1') + decimal.Decimal('0.1')
Decimal('100.2')
>>> str(decimal.Decimal('100.1') + decimal.Decimal('0.1'))
'100.2'
falsetru
  • 357,413
  • 63
  • 732
  • 636