upC++里可以用强制类型转换,这里恐怕不行

解决方案 »

  1.   

    public static byte[] doubleToBytes(double db)
        {
            Double d=new Double(db);
            long l=d.doubleToRawLongBits(db);
            byte[] b=new byte[8];        for(int i=0;i<8;i++)
            {
                b[i] = (byte)(l&0xff);
                l = l>>>8;
            }
        return b;
        }
        public static double byteToDouble(byte[] b)throws NumberFormatException
        {
            if (b == null || b.length < 8)
                throw new NumberFormatException();
            long lval = 0;
            for (int i = 0; i < 8; i++)
            {
                lval = lval << 8;
                lval += (b[ (7 - i)]);
            }
            return Double.longBitsToDouble(lval);
        }