Python 程序将十六进制字符串转换为十进制


在本文中,我们将了解以下问题陈述的解决方案。

问题陈述 − 给定一个十六进制字符串,我们需要将其转换为十进制等价物。

我们可以通过以下两种方法来解决此问题−

  • 蛮力法
  • 使用内置模块

蛮力法

在此,我们借助显式类型转换函数即 integer。此函数接受两个参数,即十六进制等价物和基数,即 (16)。此函数用于将十六进制字符串转换为其等效的十进制整数类型,然后可以进一步将其类型转换回字符串格式。

示例

 现场演示

#input string
string = 'F'
# converting hexadecimal string to decimal
res = int(string, 16)
# print result
print("The decimal number associated with hexadecimal string is : " + str(res))

输出

The decimal number associated with hexadecimal string is: 15

使用内置“ast”模块

在此,我们使用 ast 模块中提供的 literal_eval 函数,我们可以预测给定十六进制等价物的基数,然后将其转换为十进制等价物。在此,我们使用文字求值的概念。

示例

 现场演示

# using built-in module literal_eval
from ast import literal_eval
# initializing string
test_string = '0xF'
# converting hexadecimal string to decimal
res = literal_eval(test_string)
# print result
print("The decimal number of the hexadecimal string is : " + str(res))

输出

The decimal number of the hexadecimal string is: 15

所有变量均在本地作用域中声明,在上图中可以看到对它们的引用。

结论

在本文中,我们学习了将给定的十六进制字符串转换为十进制等价物的方法。

上次更新:2019 年 12 月 23 日

399 次观看

开启您的事业

完成课程认证

开始
广告