我的GUI应用程序中存在一个小问题。只需要显示字符串。我必须执行以下逻辑。我有一个字符串' a',这是数字。这是五位数。我必须通过' 1'来增加它。并再次将它放在我的GUI上 - " 00002"这是代码。
a = '00001'
b = int(a) + 1
print str(b)
预期结果:" 00002" - 我得到" 2" 我必须为" 00001"或" 00043"或" 00235"或" 03356"或" 46579" - 我想说 - 它必须适用于' a'
中的任意数字位数答案 0 :(得分:6)
有多种方法可以实现它:
方法1 :使用format
>>> format(2, '06d')
'000002'
方法2 :使用zfill
>>> str(2).zfill(5)
'00002'
方法3 :使用%
>>> "%05d" % (2,)
'00002'
选择最适合你的东西:)
答案 1 :(得分:4)
结果与预期不符,因为int()
函数忽略了前导零。前导零不存储在整数中。
诀窍是什么
a = '00001'
b = int(a) + 1
print str(b).zfill(5)
此处5
表示该数字必须为5位数。 zfill(number)
所做的是在字符串的开头添加零,直到字符串的长度为number
个字符(在这种情况下为数字)。
希望它有所帮助。
答案 2 :(得分:1)
a = '00001'
b = str(int(a) + 1).zfill(5)
>>> b
'00002'
或者只是......
a = 1
a += 1
print(str(a).zfill(5))