我正在寻找相当于的 Vala的java.io.DataInputStream.readDouble()。 它甚至可能吗? 目前我有:
public double data;
public override void load (DataInputStream dis) throws IOError {
data = dis.read_int64 ();
}
但它只是将int64转换为双倍,这不是我想要的。 我尝试过所有类型的转换和取消引用,但似乎没有任何效果。
答案 0 :(得分:2)
这对我有用:
int main()
{
int64 foo = 0; // Whatever value you have
double data = *(double*)(&foo); // This is where the "magic" happens
stdout.printf("%f", data);
return 0;
}
请注意,您可能需要为转换设置正确的byte order才能成功。