Python-使用struct float精度将十六进制字符串转换为float,反之亦然

时间:2018-08-24 13:43:19

标签: python precision

我正在尝试使用struct将float转换为十六进制字符串。

然后我正在尝试将字符串转换为float。

第一个浮点数与将字符串转换为浮点数后的浮点数不同。

import struct

f = 1.23456

s = struct.pack("!f", f) # '?\x9e\x06\x10'

t = struct.unpack('!f', s)[0] # 1.2345600128173828

我想知道为什么精度不同而t不相等:1.23456

我可以将t截断为8位小数,但不确定是否正确。

是否有更好的方法可以实现这一目标?

0 个答案:

没有答案