Setting fixed length with python
我有"60"或"100"这样的str。我需要"00060"和"00100",
我该怎么做?代码是这样的:我用"0"+"0"+"0"作为插头。现在需要修复d=0006000100
1 2 3 4 | a4 ='60' a5 ='100' d=('0'+'0'+'0'+a4+'0'+'0'+a5) |
因为您在操作字符串,str.zfill()完全按照您的需要执行。
1 2 3 | >>> s1, s2 = '60', '100' >>> print s1.zfill(5), s2.zfill(5) 00060 00100 |
这样地:
1 2 | num = 60 formatted_num = u'%05d' % num |
有关将数字格式化为字符串的详细信息,请参阅文档。
如果您的号码已经是一个字符串(如更新后的问题所示),您可以使用
1 2 | num = u'60' formatted_num = num.rjust(5, u'0') |
如果"60"已经是一个字符串,则在应用格式之前必须将其转换为数字。最实用的一个工作原理和C的printf一样:
1 2 | a ="60" b ="%05d" % int(a) |
如果它已经是一个字符串,您可能需要使用.zfill()方法。
1 | myval.fill(5) |
请阅读您最喜欢的python文档:
http://docs.python.org/library/string.html格式字符串
"
如果宽度字段前面是零("0")字符,则启用零填充。这相当于对齐类型"=",填充字符"0"。"