-2

我有一个字符串变量:

str1 = '0000120000210000'

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

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

4

2 回答 2

4

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

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

要将数字重新组合成一个字符串,请使用format

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

但是,一般来说,您不应该将标识符(例如信用卡号、学生 ID 等)存储为整数,即使它们看起来是整数。只有在需要进行算术运算时才应使用这些上下文中的数字,并且通常不使用标识符进行算术运算。

于 2012-10-20T05:26:36.910 回答
2

您想要的根本无法完成。整数值不存储前导零,因为它们可以有任意数量。所以,不能说要储存多少。

但是,如果您想print那样做,可以通过formatting output.

编辑: -

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

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

于 2012-10-20T05:20:52.520 回答