0

我不知道如何在 Python 中做到这一点。问题如下:例如,我有一个订单号,例如:

1
2
...
234567

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

所需的输出是这样的:

0001
0002
...
4567

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

最好的祝福,

4

2 回答 2

4

试试这个:

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

说明(文档):

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

但此操作保留所有数字:

>>> n = 7
>>> "%04d"%n
'0007'   
>>> n = 234567
>>> "%04d"%n
'234567'

因此,如果您想要最后 4 位数字,只需从位置 -4 获取字符(即右侧的 4 个字符,在处理“切片表示法”时请参见此处):

>>> n = 234567
>>> ("%04d"%n)[-4:]
'4567'
于 2013-03-01T18:41:08.263 回答
2

类似于以下内容:

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

0001
4567
于 2013-03-01T18:42:16.463 回答