我似乎找不到python中前面零的正确格式规范

我似乎找不到python中前面零的正确格式规范,python,string,formatting,int,Python,String,Formatting,Int,当添加小数位数时,它非常简单 john = 2 johnmod = format(john, '.2f') print(johnmod) 我得到了2点的回报,就像预期的那样。但是,添加前面的零的格式规范是什么?我希望输出为0002,我在Google找到的唯一一个规范是使用%04d,但它不起作用。如果有必要的话,我正在windows上运行Python 3.3。实现这一点的几种Python方法: 首先,使用尝试的方法,前零表示填充,4表示宽度: >>> format(2, "04

当添加小数位数时,它非常简单

john = 2
johnmod = format(john, '.2f')
print(johnmod)

我得到了2点的回报,就像预期的那样。但是,添加前面的零的格式规范是什么?我希望输出为0002,我在Google找到的唯一一个规范是使用%04d,但它不起作用。如果有必要的话,我正在windows上运行Python 3.3。

实现这一点的几种Python方法:

首先,使用尝试的方法,前零表示填充,4表示宽度:

>>> format(2, "04")
'0002'
此外,格式迷你语言:

>>> '{0:04}'.format(2)
'0002'
规范位于
之后,
0
表示填充零,
4
表示宽度为四

新增内容:

最后,
str.zfill
方法是为此定制的:

>>> str(2).zfill(4)
'0002'

使用
zfill

john = 2
johnmod = str(john).zfill(4)
print(johnmod) # Prints: 0002
你就快到了:

johnmod = format(john, "04d")

您也可以将前导的
0
添加到浮点
f
格式中,但必须将尾随数字(2)和小数点添加到总数中。

你在开玩笑吗?我刚刚加了一个不需要的百分号?谢谢@实际上,d和>也是不必要的。很好,为了澄清您的示例,对于小数点左边的两位数字,加上小数点,再加上小数点后面的两位数字,您需要指定5(=2+1+2)?
johnmod = format(john, "04d")
format(john, '05.2f')