我希望 Python 将 030 之类的数字识别为 30。出于某种原因,当我写“print 030”时它返回 24,当我写“print 020”时它返回 16。这是什么原因,我怎样才能让它把它当作 30?
谢谢
我希望 Python 将 030 之类的数字识别为 30。出于某种原因,当我写“print 030”时它返回 24,当我写“print 020”时它返回 16。这是什么原因,我怎样才能让它把它当作 30?
谢谢
我怎样才能让它把它当作30?
正常写30
,或者如果你接受这个数字作为字符串,
>>> int('030')
30
将按预期工作。
大多数语言以 0 开头的数字视为八进制数,因此 30 八进制 = 3 * 8 = 24
我能想到的一种方法是这样。
n='030'
n=n[1:]
n=int(n)
现在 n 具有可以被视为整数 30 的数字
前导 0 表示“八进制”格式,即以 8 为基数。
print "0{}".format(30)
--output:--
030
我怎样才能让它把它当作30?
您永远不能让 python 2.x 将 030 视为 30。