我正在尝试在python3中复制以下Java代码。它将long转换为float。
value = Double.longBitsToDouble(Long.parseLong("-4677979004942286848"))
> -7.812499999992895E-5
但是,在Python float()
中似乎没有等效的东西。
编辑
通过在Java中调用以下代码来创建原始值。
longbits = Double.doubleToLongBits(double_value)
答案 0 :(得分:3)
内置的Python库struct
可以做到这一点(在您的计算机上considering the size of a long
):
import struct
longint_binary = struct.pack('q', -4677979004942286848)
struct.unpack('d', longint_binary)[0] # >> -7.812499999992895e-05