用python设置固定长度

时间:2011-02-28 04:04:47

标签: python

我的str就像'60'或'100'。 我需要str为'00060'和'00100',

我该怎么做? 代码是这样的: 我使用'0'+'0'+'0'作为插件。现在需要修复 d == 0006000100

  a4 ='60'
  a5 ='100'

  d=('0'+'0'+'0'+a4+'0'+'0'+a5) 

5 个答案:

答案 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)