Seite 1 von 1

Exponential-Zahl in String

Verfasst: Samstag 20. Juli 2019, 13:15
von Musiker123
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

Re: Exponential-Zahl in String

Verfasst: Samstag 20. Juli 2019, 13:24
von Sirius3
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?

Re: Exponential-Zahl in String

Verfasst: Samstag 20. Juli 2019, 13:58
von __blackjack__
@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. 🙂

Re: Exponential-Zahl in String

Verfasst: Sonntag 21. Juli 2019, 17:58
von Musiker123
Ok, vielen Dank für die Kommentare und Tipps.
Hat mir geholfen. 👍