Python, string , integer



我有一个字符串变量:

str1 = '0000120000210000'

我想将字符串转换为整数而不会失去前4个零字符。换句话说,我希望整数变量还可以存储前4个零数字作为整数的一部分。

我尝试了int()函数,但我无法保留前四位数字。

您可以使用两个整数,一个用于存储数字的宽度,另一个用于存储数字本身:

kw = len(s)
k = int(s)

要将数字放回字符串中,请使用format

print '{:0{width}}'.format(k, width=kw) # prints 0000120000210000

,但总的来说,即使似乎是整数,您也不应将标识符(例如信用卡号,学生ID等)作为整数。只有在需要进行算术时,才应使用这些上下文中的数字,并且通常不使用标识符进行算术。

您想要做的根本无法完成。整数值不会存储领先的零,因为可以有任何数字。因此,不能说要存储多少个。

但是,如果您想这样的 print,可以通过 formatting output来完成。

编辑: -

添加@timpietzcker的来自OP的评论以做出完整的答案: -

除非您打算使用它进行算术,否则您绝对不应将数字存储为整数。在所有其他情况下,都应将它们存储为字符串

相关内容

最新更新