Hallo Forum,
ich suche eine Möglichkeit, die Anzahl der Nachkommastellen einer Fließkommazahl in einem write Befehl festzulegen. Es gibt zwar viele Posts zu Nachkommastellen, aber nur in Verbindung mit print. Ich will aber mit write in eine exteren Datei schreiben, wobei immer eine feste stellenanzhal gegeben sein soll, um die so erstellen tabellen später in Excel einlesen zu können. Im speziellen tritt das Problem bei der Ausgabe von 0 auf, es sollte also 0.0000000 ausgegeben werden.
Irgendwie funktioniert es auch nicht mit round(), angeblich würde er eine float-Zahl brauchen, aber nach einem py_get_float(str) sollte es sich um eine float-Zahl handeln... :s
Für Lösungsvorschläge dankbar
Christian
nchkommastellen bei float in write befehl
-
- User
- Beiträge: 4
- Registriert: Montag 29. März 2010, 09:24
Das Übertragen auf den write-Befehl hat nicht funktioniert.
Da das Problem aber nur bestand, sobald die Zahl "0" eingetragen wird, habe ich jetzt einfach eine if-Anweisung, wenn es "0" ist, soll er eben mehr Freistellen zwischen den Spalten setzen, sonst die normale Anzahl. Vllt etwas unfein, aber bringt das geünschte Ergebnis.
Da das Problem aber nur bestand, sobald die Zahl "0" eingetragen wird, habe ich jetzt einfach eine if-Anweisung, wenn es "0" ist, soll er eben mehr Freistellen zwischen den Spalten setzen, sonst die normale Anzahl. Vllt etwas unfein, aber bringt das geünschte Ergebnis.
Hallo !
Ich versteh dein Problem irgendwie nicht so ganz!? Funktioniert doch einwandfrei:
Gruß,
dahaze
Ich versteh dein Problem irgendwie nicht so ganz!? Funktioniert doch einwandfrei:
Code: Alles auswählen
>>> fptr = open(r'M:\test.txt','w')
>>> zahl = 0.0
# Zahl mit 10 Nachkommastellen schreiben:
>>> fptr.write('%.10f' % zahl)
>>> fptr.close()
>>> fptr = open(r'M:\test.txt','r')
>>> fptr.read()
'0.0000000000'
>>> fptr.close()
>>>
dahaze