2011-02-28 49 views
8

我有str,就像'60'或'100'。 我需要str'00060'和'00100',使用python设置固定长度

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

a4 ='60' 
    a5 ='100' 

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

回答

23

既然你操作字符串,str.zfill()不正是你想要的。

>>> s1, s2 = '60', '100' 
>>> print s1.zfill(5), s2.zfill(5) 
00060 00100 
+2

+1整洁,不知道那个 – Cameron 2011-02-28 04:15:56

10

像这样:

num = 60 
formatted_num = u'%05d' % num 

约格式化数字作为字符串更多信息,请参见。

如果您的号码已经是一个字符串(如更新的问题表示),您可以使用该rjust字符串方法零到合适的宽度垫它:

num = u'60' 
formatted_num = num.rjust(5, u'0') 
+0

它来'60'我结合示例0006000100, – Merlin 2011-02-28 04:08:30

+0

数据文件有'60' – Merlin 2011-02-28 04:10:30

+0

@用户:您可以发布您正在使用的代码吗? – Cameron 2011-02-28 04:11:44

2

如果‘60’已经是一个字符串,你必须应用在格式化之前将其转换为数字的最实用的一个作品就像C的printf:

a ="60" 
b = "%05d" % int(a) 
0

如果它已经是一个字符串你可能想使用.zfill()方法。

myval.fill(5)