我有一些看起来像的代码:
import struct
def Get_Float(paintwear):
buf = struct.pack('i', paintwear)
item_float = struct.unpack('f', buf)[0]
return item_float
paintwear = 1033975072
item_float = Get_Float(paintwear)
print(item_float)
这有效,并给我item_float为0.07871460914611816。但是,我试图通过双重解压缩这个数字来更具体:
import struct
def Get_Float(paintwear):
buf = struct.pack('i', paintwear)
item_float = struct.unpack('d', buf)[0]
return item_float
paintwear = 1033975072
item_float = Get_Float(paintwear)
print(item_float)
我将f更改为d,现在我收到此错误:struct.error: unpack requires a bytes object of length 8
有什么想法吗?谢谢!
答案 0 :(得分:1)
使用浮点数格式:
return "{:.22f}".format(item_float)
其中22
是小数点后返回的数字位数(或许多必需数字)。