Seite 1 von 1
Python Nachkommastellen erhöhen?
Verfasst: Freitag 23. November 2012, 17:17
von Schwarze_Mamba
Ich habe eine Frage: Wie lassen sich die maximalen
Nachkommastellen einer Zahl in Python(3.1) erhöhen. ES geht mir
darum: 1. Will ich Pi mit 100 Nachkommastellen ausgeben. Hiermit werden nur 50 Angezeigt:
2. Eine beliebiege Zahl mit beliebig vielen Nachkommastellen ausgeben.
Soll darum gehen eine durch Formel erzeugte irrationale Zahl(~ undenliche Zahl)
auszugeben und in Datei zu schreiben.
Schwarze_Mamba
Re: Python Nachkommastellen erhöhen?
Verfasst: Freitag 23. November 2012, 17:49
von BlackJack
@Schwarze_Mamba: Der Python-Datentyp `float` entspricht dem C-Datentyp ``double``. Was immer dessen Beschränkungen auf der eingesetzten Plattform sind, gilt auch für Python und kann nicht geändert werden. In der Regel ist das auf PCs eine interne Repräsentation der Zahl mit der der Prozessor direkt umgehen kann und die ist in der Regel 64 Bit gross.
Wenn man beliebig viele Stellen vor und nach dem Komma haben möchte, muss man auf einen Zahldatentyp ausweichen, der in Software berechnet wird. Python hat das `decimal`-Modul in der Standardbibliothek. Und es gibt eine externe Anbindung an die GMP-Bibliothek: `gmpy` (keine Ahnung ob für Python 3 verfügbar).
Um π mit hundert Nachkommastellen ausgeben zu können, muss es erst einmal berechnet werden. Die Konstante aus dem `math`-Modul ist ein `float` und hat dementsprechend nur die Anzahl von Stellen, die in ein `float` passen.
Re: Python Nachkommastellen erhöhen?
Verfasst: Freitag 23. November 2012, 17:52
von /me
Schwarze_Mamba hat geschrieben:Soll darum gehen eine durch Formel erzeugte irrationale Zahl(~ undenliche Zahl)
auszugeben und in Datei zu schreiben.
Für eine Zahl mit unendlich vielen Nachkommastellen solltest du erst einmal eine Menge Festplatten kaufen. Eine sehr große Menge Festplatten. Und dann jeweils noch eine mehr.
Wenn es doch weniger sein dürfen, dann ist
decimal vielleicht etwas für dich.
Re: Python Nachkommastellen erhöhen?
Verfasst: Freitag 23. November 2012, 17:53
von Schwarze_Mamba
BlackJack hat geschrieben:Um π mit hundert Nachkommastellen ausgeben zu können, muss es erst einmal berechnet werden. Die Konstante aus dem `math`-Modul ist ein `float` und hat dementsprechend nur die Anzahl von Stellen, die in ein `float` passen.
Das sollte kein Problem darstellen
Re: Python Nachkommastellen erhöhen?
Verfasst: Freitag 23. November 2012, 17:56
von BlackJack
Das sollte in der Tat kein Problem darstellen:
Code: Alles auswählen
In [165]: print gmpy.pi(325)
3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821481
