0

我希望 Python 将 030 之类的数字识别为 30。出于某种原因,当我写“print 030”时它返回 24,当我写“print 020”时它返回 16。这是什么原因,我怎样才能让它把它当作 30?

谢谢

4

4 回答 4

2

我怎样才能让它把它当作30?

正常写30,或者如果你接受这个数字作为字符串,

>>> int('030')
30

将按预期工作。

于 2013-06-23T13:21:08.040 回答
0

大多数语言以 0 开头的数字视为八进制数,因此 30 八进制 = 3 * 8 = 24

于 2013-06-23T13:18:18.467 回答
0

我能想到的一种方法是这样。

n='030'
n=n[1:]
n=int(n)

现在 n 具有可以被视为整数 30 的数字

于 2013-06-23T13:20:31.457 回答
0

前导 0 表示“八进制”格式,即以 8 为基数。

print "0{}".format(30)

--output:--
030

我怎样才能让它把它当作30?

您永远不能让 python 2.x 将 030 视为 30。

于 2013-06-23T13:12:44.490 回答