在Python中带有前导零的值结果不准确,请问发生了什么?

6 投票
6 回答
1342 浏览
提问于 2025-04-16 00:07

zipcode = 02132

print zipcode

结果是 1114

6 个回答

6

除了八进制的事情之外:

邮政编码、社会保障号码、信用卡号码、电话号码等等,实际上并不是可以进行有意义的数学运算的数字。所以,不要把它们当作整数来处理,而是应该把它们当作字符串来保存。

9

在Python 2.x中,前面有零的数字会被当作八进制(基数为八)来理解。而在Python 3.x中,想要表示八进制数字需要在前面加上“0o”。如果你想处理邮政编码,最好把它当作字符串来处理,这样可以保留前面的零。

15

前面加零表示这是八进制数。比如,八进制的2132在十进制中等于1114。Python 3.0中把这种写法给去掉了。

撰写回答