Seite 1 von 1

Stellenangabe mit print Formatierung

Verfasst: Mittwoch 21. Mai 2014, 21:33
von duodiscus
Hallo, eine kurze Frage zu meinem kleinen Testprogramm. Wieso gibt er mir nicht die vorkommazahlen aus, die wie in der variablen hinterlegt sind. Bei den Nachkommastellen tut er es ja! Danke für eine Erläuterung dazu!

Code: Alles auswählen

import random
vor = 5
nach = 8
zahl = random.uniform(0,785654)

print('%*.*f' % (vor, nach, zahl))

259964.12219568

Re: Stellenangabe mit print Formatierung

Verfasst: Mittwoch 21. Mai 2014, 22:06
von Sirius3
@duodiscus: die erste Zahl vor dem Punkt gibt nicht die Anzahl der Stellen vor dem Komma an, sondern die Minimalanzahl der Zeichen insgesamt:

Code: Alles auswählen

>>> "%3.3f" % 1.23456
'1.235'
>>> "%3.3f" % 1.23456 # 5 Zeichen sind mehr als 3
'1.235'
>>> "%7.3f" % 1.23456 # Links werden zwei Leerzeichen eingefügt, damit der Ausdruck 7 Zeichen hat
'  1.235'
>>> "%07.3f" % 1.23456 # Links werden Nullen eingefügt, damit der Ausdruck 7 Zeichen hat
'001.235'