是否有将八进制数转换为十进制数的函数?
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
。请注意,在这种情况下,您将删除值的小数部分。
我有一个要转换为十进制的八进制数列表;我用了 "%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
。请注意,在这种情况下,您将删除值的小数部分。