我们可以长时间存储双重价值,而无需类型铸造



我有一个双重值,我可以存储在一个长变量中而无需任何打字>吗?

您可以,尝试以下操作:

    double d = 123.0;
    long l = Double.doubleToLongBits(d);
    d = Double.longBitsToDouble(l);
    System.out.println(d);

这将长时间存储Double的二进制表示。

存储实际值(可能的截断):

long l = Double.valueOf(123.0).longValue();

否,如果不明确打字,就无法将值分配给长变量。如果您在不打字的情况下尝试尝试,则会发现"失去精度错误"。

最新更新