是否有将八进制数转换为十进制数的函数?

Is there a function to convert an octal number to decimal?

我有一个要转换为十进制的八进制数列表;我用了 "%d" 但没用。

您可以使用 int(str(number), base=8)

示例输出:

>>> int('024', 8)
20

如果你想使用整数,你可以这样做。

int(str(int(number)), 8)

根据您的评论,此答案对@ForceBru 的答案提出了一个小修改,数字似乎被格式化为浮点数。因为你的号码是。如果数字实际上是整数,您可以先进行转换:

>>> your_num = 1.0
>>> int(str(int(your_num)),8)
1

如果 your_num 是字符串,您可以先将其转换为 float,然后再转换为 int:

>>> your_num = "1.0"
>>> int(str(int(float(your_num))),8)
1

(因为您可能将数字解析为 float。请注意,在这种情况下,您将删除值的小数部分。