/ / Python 2.7 Division zeigt kein genaues Ergebnis [Duplizieren] - Python, Python-2.7

Python 2.7 Division zeigt kein exaktes Ergebnis [duplizieren] - Python, Python-2.7

Wenn ich 1 / 5e-5 dividiere, gibt es die richtige Antwort, aber 1 / 5e-6 gibt eine Antwort nahe der richtigen.

>>> 1/5e-5
20000.0
>>> 1/5e-6
199999.99999999997 (should be 200000)
>>>

Wie kann ich es bekommen, um den genauen Wert zu zeigen? Ich habe versucht, Dezimel, Numpy und Scipy zu importieren, aber keiner von ihnen ändert das Ergebnis.

Antworten:

2 für die Antwort № 1

Du kannst bekommen decimal um dies richtig zu machen - Sie müssen nur vermeiden, Gleitkommazahlen auf dem Weg zu verwenden:

>>> import decimal
>>> decimal.Decimal("1") / (decimal.Decimal("5") / decimal.Decimal("1000000"))
Decimal("2E+5")