Python Mehr Nachkommastellen bei Float Zahlen?

...komplette Frage anzeigen

2 Antworten

Warum es mit "float" nicht geht, hat NoHumanBeing ja bereits erklärt, aber mit "decimal" läufts: https://docs.python.org/2/library/decimal.html

Beispiel:

import decimal
decimal.getcontext().prec=50
a = decimal.Decimal('2.0')
b = decimal.Decimal('0.5')
c = a**b
print c

Ausgabe:

1.4142135623730950488016887242096980785696718753769
Antwort bewerten Vielen Dank für Deine Bewertung
Kommentar von YugiohFan17
17.06.2017, 16:58

Brauch ich für decimal irgendwelche nucht-Standart Packete?

0
Kommentar von YugiohFan17
18.06.2017, 13:32

Oki danke

0

Zunächst einmal möchte ich anmerken, dass dies keine Einschränkung ist, die von der Programmiersprache Python herrührt, sondern eine, die bereits in der Gleitkommaeinheit Deines Prozessors vorhanden ist.

64-Bit Gleitkommazahlen haben eine Genauigkeit von 15 - 17 Dezimalstellen, übrigens nicht nur bei der Ausgabe, sondern bei jeder Rechenoperation.

Wenn Du höhere Genauigkeit brauchst, musst Du spezielle Bibliotheken benutzen, welche die Verarbeitung der "größeren" Gleitkommazahlen, die der Prozessor direkt ja nicht verarbeiten kann, in mehreren Maschinenschritten in Software umsetzen.

http://pythonhosted.org/bigfloat/

Antwort bewerten Vielen Dank für Deine Bewertung

Was möchtest Du wissen?