Python Zahlen mit 2 Nachkommastellen speichern

DMHas

Lt. Commander
Registriert
Sep. 2005
Beiträge
1.630
Hallo zusammen,

ich versuche gerade Werte mit 2 Nachkommastellen in eine CSV-Datei abzuspeichern. Das klappt alles auch problemlos mit round. Jedoch wird eine Null am Ende gekürzt (aus 24.30 wird 24.3). Das würde ich gerne vermeiden, da sich die CSV-Dateien leichter lesen lassen. Das gleiche tritt auf bei führenden Nullen - dies wird ich ebenfalls sehr gern vermeiden. Jedoch haben meine Versuche nicht geklappt (Zahl in String umwandeln, Bibliothek decimal nutzen). Vielleicht habt ihr noch eine Idee?

(Es geht nicht um die Bildschirmausgabe - das geht mit f-String, sondern um das abspeichern in eine CSV-Datei.)

Grüße DMHas
 
Erstmal Danke!
Python:
format()
hatte ich gar nicht mehr auf dem Schirm. Das Teste ich gleich Mal.
 
Ich danke Euch! Der Hinweis mit f-String war sehr gut! Ich dachte immer f-String klappt nur bei print-Befehlen, ist aber nicht so!

Python:
a = 23.9012
b = str("{:06.2f}".format(round(a,2)))
print(b)

zeigt 023.90 an! Das klappt perfekt!

Grüße DMHas
 
das str() kannst du dir aber sparen, es ist ja schon ein string.
 
  • Gefällt mir
Reaktionen: DMHas und M4ttX
Das ist auch noch kein f-string und deshalb viel zu lange.

Das ist die neueste Schreibweise, kurz und prägnant:
Python:
a = 23.9012
b = f"{round(a, 2):06.2f}"
print(b)
Je nach Rundungsmethode brauchts nichtmal das round - ohne sollte es truncation entsprechen.
 
  • Gefällt mir
Reaktionen: DMHas
Zurück
Oben