我的str就像'60'或'100'。 我需要str为'00060'和'00100',
我该怎么做? 代码是这样的: 我使用'0'+'0'+'0'作为插件。现在需要修复 d == 0006000100
a4 ='60'
a5 ='100'
d=('0'+'0'+'0'+a4+'0'+'0'+a5)
答案 0 :(得分:25)
由于您正在操纵字符串,str.zfill()完全符合您的要求。
>>> s1, s2 = '60', '100'
>>> print s1.zfill(5), s2.zfill(5)
00060 00100
答案 1 :(得分:10)
像这样:
num = 60
formatted_num = u'%05d' % num
有关将数字格式化为字符串的详细信息,请参阅docs。
如果您的号码已经是一个字符串(如您更新的问题所示),您可以使用rjust
字符串方法将其填充为正确的宽度:
num = u'60'
formatted_num = num.rjust(5, u'0')
答案 2 :(得分:2)
如果“60”已经是字符串,则必须在应用格式之前将其转换为数字。最实用的就像C的printf一样:
a ="60"
b = "%05d" % int(a)
答案 3 :(得分:0)
阅读您喜欢的Python文档,赞赏:
http://docs.python.org/library/string.html#formatstrings
“”“
如果width字段前面有一个零('0')字符,则启用零填充。这相当于对齐类型'='和填充字符'0'。 “”“
答案 4 :(得分:0)
如果它已经是一个字符串,您可能想要使用.zfill()方法。
myval.fill(5)