关于python:python-如何向和integer/string添加零?

Python - How to add zeros to and integer/string?

本问题已经有最佳答案,请猛点这里访问。

我对如何用Python实现这一点一无所知。问题如下:例如,我有一个订单号,比如:

1
2
3
4
1
2
...
234567

我只需要提取订单号的最后4位数字,如果订单号少于4位,我将用零替换。

所需输出如下:

1
2
3
4
0001
0002
...
4567

有什么线索吗?我对这个有点迷茫。

最好的问候,


试试这个:

1
2
3
>>> n = 234567
>>> ("%04d"%n)[-4:]
'4567'

说明(文件):

1
"%04d"%n --> get a string from the (d)ecimal n, putting leading 0s to reach 4 digits (if needed)

但是这个操作保留了所有的数字:

1
2
3
4
5
6
>>> n = 7
>>>"%04d"%n
'0007'  
>>> n = 234567
>>>"%04d"%n
'234567'

因此,如果您想要最后4位数字,只需从位置-4(即从右边4个字符,在处理"切片符号"时请参见此处)中提取字符即可:

1
2
3
>>> n = 234567
>>> ("%04d"%n)[-4:]
'4567'


如下所示:

1
2
3
4
5
6
7
>>> test = [1, 234567]
>>> for num in test:
        last4 = str(num)[-4:]
        print last4.zfill(4)

0001
4567