我有一个八进制数列表,我想将其转换为十进制数;我使用"%d"
但它没有用。
答案 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
。请注意,在这种情况下,您将删除小数部分的值。