我正在寻找相当于 Vala 的 java.io.DataInputStream.readDouble() 。 有可能吗? 目前我有:
public double data;
public override void load (DataInputStream dis) throws IOError {
data = dis.read_int64 ();
}
但它只是将 int64 转换为 double 这不是我想要的。 我尝试了各种类型的转换和取消引用,但似乎没有任何效果。
最佳答案
这对我有用:
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以便转换成功。
关于vala - 如何从 DataInputStream 读取 8 字节数据并将其解释为 Vala 中的 double,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27652057/