How to format a floating number to fixed width in Python
如何按照以下要求将浮点数格式化为固定宽度:
例如:
1 2 3 4 5 | % formatter something like '{:06}' numbers = [23.23, 0.123334987, 1, 4.223, 9887.2] for number in numbers: print formatter.format(number) |
输出如下
1 2 3 4 5 | 23.2300 0.1233 1.0000 4.2230 9887.2000 |
号
1 2 | for x in numbers: print"{:10.4f}".format(x) |
版画
1 2 3 4 5 | 23.2300 0.1233 1.0000 4.2230 9887.2000 |
号
大括号内的格式说明符遵循python格式字符串语法。具体来说,在这种情况下,它由以下部分组成:
- 冒号前面的空字符串表示"将下一个提供的参数带到
format() "——在本例中,x 是唯一的参数。 - 冒号后面的
10.4f 部分是格式规范。 f 表示定点表示法。10 是正在打印的字段的总宽度,左边用空格填充。4 是小数点后的位数。
这已经是几年前的事情了,但是对于python 3.6(pep498),您可以使用新的
1 2 3 4 | numbers = [23.23, 0.123334987, 1, 4.223, 9887.2] for number in numbers: print(f'{number:9.4f}') |
。
印刷品:
1 2 3 4 5 | 23.2300 0.1233 1.0000 4.2230 9887.2000 |
。
在python3中,以下工程:
1 2 3 4 5 6 7 | >>> v=10.4 >>> print('% 6.2f' % v) 10.40 >>> print('% 12.1f' % v) 10.4 >>> print('%012.1f' % v) 0000000010.4 |
参见python 3.x格式字符串语法:
1 2 3 4 5 6 7 8 9 10 11 | 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 |
。
在python 3中。
1 2 | GPA = 2.5 print(" %6.1f" % GPA) |