How do I format a floating number to a fixed width with the following requirements:
- Leading zero if n < 1
- Add trailing decimal zero(s) to fill up fixed width
- Truncate decimal digits past fixed width
- Align all decimal points
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
Best Answer
prints
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 thex
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.