使用Python设置固定长度

8 投票
5 回答
25737 浏览
提问于 2025-04-16 12:39

我有一些字符串,比如 '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

撰写回答