Wie formatiere ich eine Gleitkommazahl auf eine feste Breite mit den folgenden Anforderungen?
Zum Beispiel:
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
Die Ausgabe würde wie folgt aussehen
23.2300
0.1233
1.0000
4.2230
9887.2000
for x in numbers:
print "{:10.4f}".format(x)
druckt
23.2300
0.1233
1.0000
4.2230
9887.2000
Der Formatbezeichner innerhalb der geschweiften Klammern folgt der Python format string syntax. Konkret besteht er in diesem Fall aus den folgenden Teilen:
format()
" - in diesem Fall das x
als einziges Argument.In python3 funktioniert das Folgende:
>>> v=10.4
>>> print('% 6.2f' % v)
10.40
>>> print('% 12.1f' % v)
10.4
>>> print('%012.1f' % v)
0000000010.4
Siehe Python 3.x format string syntax:
IDLE 3.5.1
numbers = ['23.23', '.1233', '1', '4.223', '9887.2']
for x in numbers:
print('{0: >#016.4f}'. format(float(x)))
23.2300
0.1233
1.0000
4.2230
9887.2000