Exponential-Zahl in String

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Musiker123
User
Beiträge: 40
Registriert: Donnerstag 7. März 2019, 09:48

Hallo zusammen,

über eine csv-Datei kommt der Inhalt einer Zelle als Exponetial-Zahl (3,34E+13)
Ich benötige den Inhalt als String (hier zB: 33442100000000).
Kann mit jemand sagen, wie ich die Zahl in einen Textstring umwandeln kann?
"str" funktioniert nicht.
Danke und Grüße
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

Das gewünschte Zahlenformat kann man mit Stringformatierung angeben. Wenn Du eine floatingpoint-Zahl mit 0 Nachkommastellen willst:

Code: Alles auswählen

zahl = 3.34e+13
print(f"{zahl:.0f}")
Woher soll den bei der Zahl die `21` kommen?
Benutzeravatar
__blackjack__
User
Beiträge: 13117
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Sirius: Ich denke mal die 21 ist da tatsächlich vorhanden und das wird bloss in Excel als ”3,34E+13” angezeigt. Denn man bekommt von Excel ja nicht das als Zahl. Zum ersten ist da ein Komma und kein Punkt als Trenner für den Dezimalbruch, und zum zweiten wird diese Zahl in Python nicht in Exponentialform angezeigt:

Code: Alles auswählen

In [6]: print(3.34E+13)
33400000000000.0

In [7]: str(3.34E+13)
Out[7]: '33400000000000.0'
Wenn Musiker123 in Python tatsächlich die Exponentaldarstellung will, muss man sie explizit so formatieren, und in dem Fall gäb's die Frage nicht, weil dann wären die Formatierungsmöglichkeiten ja bereits bekannt. 🙂
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Musiker123
User
Beiträge: 40
Registriert: Donnerstag 7. März 2019, 09:48

Ok, vielen Dank für die Kommentare und Tipps.
Hat mir geholfen. 👍
Antworten