How do I format a floating number to a fixed width with the following requirements:
For example:
% formatter something like '{:06}'
numbers = [23.23, 0.123334987, 1, 4.223, 9887.2]
for number in numbers:
print formatter.format(number)
The output would be like
23.2300
0.1233
1.0000
4.2230
9887.2000
for x in numbers:
print "{:10.4f}".format(x)
prints
23.2300
0.1233
1.0000
4.2230
9887.2000
The format specifier inside the curly braces follows the Python format string syntax. Specifically, in this case, it consists of the following parts:
format()
" – in this case the x
as the only argument.10.4f
part after the colon is the format specification.f
denotes fixed-point notation.10
is the total width of the field being printed, lefted-padded by spaces.4
is the number of digits after the decimal point.