Seite 1 von 1

Lange Zahlen in anderes Format umwandeln

Verfasst: Samstag 24. Dezember 2016, 10:39
von TimeMen
Hallo ihr Lieben und im Voraus erst mal frohe Weihnachten!

Nun zu meinem Anliegen:
Gehen wir davon aus, dass ich eine Zahl mit ca. 100 Nachkommastellen habe. Nun würde ich die Zahl gerne ausgeben, aber nicht unbedingt in ihrer kompletten Länge. Es gibt ja die Schreibweise 5.3e12 zum Beispiel.
Wie kann ich nun meine ziemlich lange Zahl in ein solches Format umwandeln?

Liebe Grüße
TimeMen

Re: Lange Zahlen in anderes Format umwandeln

Verfasst: Samstag 24. Dezember 2016, 11:14
von Sirius3

Code: Alles auswählen

print("{:.1e}".format(float(zahl))

Re: Lange Zahlen in anderes Format umwandeln

Verfasst: Samstag 24. Dezember 2016, 11:21
von TimeMen
Hallo Sirius,

funktioniert soweit, allerdings bekomme ich bei manchen Zahlen dann ausgegeben.
Woran liegt das?

Re: Lange Zahlen in anderes Format umwandeln

Verfasst: Samstag 24. Dezember 2016, 11:41
von Sirius3
@TimeMen: dann haben Deine Zahlen doch mehr als 100 Stellen. Denn ab 308 Stellen sind sie nicht mehr als float darstellbar. Wie liegen denn Deine Zahlen vor?

Code: Alles auswählen

from decimal import Decimal
print("{:.1e}".format(Decimal(zahl))

Re: Lange Zahlen in anderes Format umwandeln

Verfasst: Samstag 24. Dezember 2016, 12:18
von TimeMen
Meine Zahlen haben je nach Aufgabe mehr als Tausend Stellen.
Dein Code funktioniert, danke :)