固定宽度数字格式化python 3

时间:2011-07-29 07:39:38

标签: string formatting python-3.x string-formatting fixed-width

如何使用format属性获取一个整数,以便在python 3.2中将0填充到固定宽度? 例如:

a = 1
print('{0:3}'.format(a)} 

给出'1'代替我想要的'001'。在python 2.x中,我知道这可以使用

完成
print "%03d" % number. 

我检查了python 3字符串文档但是无法得到它。

http://docs.python.org/release/3.2/library/string.html#format-specification-mini-language

感谢。

3 个答案:

答案 0 :(得分:44)

使用0

为宽度添加前缀
>>> '{0:03}'.format(1)
'001'

另外,在最新版本的Python中你不需要放置标记(不确定哪个,但至少是2.7和3.1):

>>> '{:03}'.format(1)
'001'

答案 1 :(得分:0)

有内置的字符串方法.zfill用于填充0秒:

>>> str(42).zfill(5)
'00042'
>>> str(42).zfill(2)
'42'

答案 2 :(得分:0)

更好:

number=12
print(f'number is equal to {number:03d}')