使用Python设置固定长度
我有一些字符串,比如 '60' 或 '100'。我想把这些字符串变成 '00060' 和 '00100'。
我该怎么做呢?代码大概是这样的:我之前用 '0'+'0'+'0' 来填充,现在需要修正一下。
结果应该是 d==0006000100
a4 ='60'
a5 ='100'
d=('0'+'0'+'0'+a4+'0'+'0'+a5)
5 个回答
2
如果“60”已经是一个字符串,你需要在格式化之前把它转换成数字。最实用的方法就像C语言中的printf一样:
a ="60"
b = "%05d" % int(a)
10
像这样:
num = 60
formatted_num = u'%05d' % num
想了解更多关于如何把数字格式化成字符串的信息,可以查看文档。
如果你的数字已经是字符串(就像你更新的问题所说的那样),你可以使用rjust
这个字符串方法,在字符串的左边填充零,以达到你想要的宽度:
num = u'60'
formatted_num = num.rjust(5, u'0')
25
因为你在处理字符串,str.zfill() 正好能满足你的需求。
>>> s1, s2 = '60', '100'
>>> print s1.zfill(5), s2.zfill(5)
00060 00100