关于python中hex转float的问题
2021/7/28 14:05:50
本文主要是介绍关于python中hex转float的问题,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
我们在从对于python中将hex转化为float的问题。对于python3和python2的操作是不同的。
例如a=[0x45,0xaf,0xb9,0xdd]转化为float型数据为 5623.23
使用python3将hex转化为float
进行转化很简单:我们可以使用struct模块
import struct s=struct.unpack(">f",bytes(a))[0]
执行结果
其中struct.unpack返回的是一个元组
使用python2将hex转化为float
用python2转化的话会比python3麻烦很多,如果按照上面的写法,python2会报错
struct.error: unpack requires a string argument of length 4
因此我们要使用另外一个模块binascii模块:
import struct import binascii a=[0x45,0xaf,0xb9,0xdd] d='' for i in a: d=d+"%02X"%i #将hex转化为hex字符串 s=struct.unpack('>f',binascii.unhexlify(d))[0]
格式话输出2位小数
要指定小数位数,可以使用round函数
s=5623.23291015625 re_f=round(s,2)
这篇关于关于python中hex转float的问题的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-08有遇到过吗?同样的规则 Excel 中 比Python 结果大
- 2024-03-30开始python成长之路
- 2024-03-29python optparse
- 2024-03-29python map 函数
- 2024-03-20invalid format specifier python
- 2024-03-18pool.map python
- 2024-03-18threads in python
- 2024-03-14python Ai 应用开发基础训练,字符串,字典,文件
- 2024-03-13id3 algorithm python
- 2024-03-13sum array elements python