gpt4 book ai didi

python - 如何在 Python 中增加数字字符串

转载 作者:行者123 更新时间:2023-12-05 01:17:57 25 4
gpt4 key购买 nike

过去两天,我一直在研究如何在 Python 中递增数字字符串。我试图在创建记录时增加序列号。昨天我花了一整天的时间尝试将其作为一个整数来执行,它工作正常,但我永远无法让数据库存储前导零。我在 StackOverflow 中对这个主题进行了广泛的研究,虽然有几个示例说明如何将其作为整数执行此操作并存储前导零,但没有一个示例对我有用。许多例子都来自 2014 年,所以也许方法已经改变了。然后我切换到一个字符串并将我的属性更改为一个 CharField,并且可以使函数使用前导零,但现在我似乎无法让它递增。同样,我在 SO 上找到的示例是 2014 年的,所以情况可能发生了一些变化。这是有效的函数,但每次我调用它时,它都不会增加。它只返回 00000001。我敢肯定这是我没有做的简单事情,但我没有主意。在此先感谢您的帮助。这是有效但不增加的功能。

def getNextSeqNo(self):
x = str(int(self.request_number) + 1)
self.request_number = str(x).zfill(8)
return self.request_number

这是定义的字段:

request_number = models.CharField(editable=True,null=True,max_length=254,default="00000")

我添加了默认值“00000”,因为如果它不存在,系统会给我以下错误:

int() argument must be a string, a bytes-like object or a number, not 'NoneType'

我意识到我的代码基本上是将我的默认值增加 1,这就是为什么我总是得到 00000001 作为我的序列号。似乎无法弄清楚如何获取当前数字然后递增 1。感谢任何帮助。

最佳答案

以前我做过类似的东西

您必须将您的字符串转换为 int,然后您必须获得它的长度,然后您必须计算您需要的零的数量

code = "00000" 
code = str(int(code) + 1 )
code_length = len(code)

if code_length < 5: # number five is the max length of your code
code = "0" * (5 - code_length) + code

print(code)

关于python - 如何在 Python 中增加数字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47929110/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com