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

时间:2015-03-05 14:26:23

标签: python numbers

我有一个八进制数列表,我想将其转换为十进制数;我使用"%d"但它没有用。

2 个答案:

答案 0 :(得分:3)

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

示例输出:

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

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

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

答案 1 :(得分:0)

根据您的评论,这个答案建议对@ ForceBru的答案进行一些小修改,看起来这些数字被格式化为浮点数。由于您的号码是1.0。如果数字实际上是整数,您可以先执行转换:

>>> 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。请注意,在这种情况下,您将删除小数部分的值。