如何显示小于两位数字的所有数字的前导零?

1    →  01
10   →  10
100  →  100

当前回答

width = 5
num = 3
formatted = (width - len(str(num))) * "0" + str(num)
print formatted

其他回答

在Python 2(和Python 3)中,您可以执行:

number = 1
print("%02d" % (number,))

基本上%类似于printf或sprintf(参见文档)。


对于Python 3。+,同样的行为也可以通过format实现:

number = 1
print("{:02d}".format(number))

对于Python 3.6+,同样的行为可以通过f-strings实现:

number = 1
print(f"{number:02d}")

使用格式字符串- http://docs.python.org/lib/typesseq-strings.html

例如:

python -c 'print "%(num)02d" % {"num":5}'

Use:

'00'[len(str(i)):] + str(i)

或者使用数学模块:

import math
'00'[math.ceil(math.log(i, 10)):] + str(i)

或:

打印“{0:02d}”.format (1)

它内置在python中,具有字符串格式

f'{number:02d}'