编程语言
首页 > 编程语言> > python hex转flaot

python hex转flaot

作者:互联网

在使用树莓派 modbus-tk 读取寄存器值后,得到的4byte值存为了元组,想将该数据转化为float,习惯了c的用法,转到python时,数据转换这一块一头雾水,经过多次尝试最终实现。记录一下: 

format用法:   python格式化输出之format用法

  hex转float函数,hex_value 为偶数格字符串 如:'41ae0837' def Hex2Float(hex_value):   return struct.unpack('!f',hex_value.decode('hex'))[0] modbus-rtu得到的2个寄存器的值为: o2 = (2103,16814)   使用format将int类型转换为字符串:
format_ss = '{:04x}'

ssa = format_ss.format(o2[1]) + format_ss.format(o2[0])
注意大小端   ssa =  '41ae0837'   将得到的字符串转为float
sfloat = Hex2Float(ssa)
print '氧气浓度:',sfloat

氧气浓度: 21.7540111542

 

标签:flaot,format,python,float,hex,value,ss,ssa
来源: https://www.cnblogs.com/blueoapple/p/13121201.html