我有一个字符串变量:
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的评论以做出完整的答案: -
除非您打算使用它进行算术,否则您绝对不应将数字存储为整数。在所有其他情况下,都应将它们存储为字符串