java - 如何将字节数组转换为 double 并返回?

标签 java double bytearray

为了将字节数组转换为 double ,我发现了这个:

//convert 8 byte array to double
int start=0;//???
int i = 0;
    int len = 8;
    int cnt = 0;
    byte[] tmp = new byte[len];
    for (i = start; i < (start + len); i++) {
        tmp[cnt] = arr[i];
        //System.out.println(java.lang.Byte.toString(arr[i]) + " " + i);
        cnt++;
    }
    long accum = 0;
    i = 0;
    for ( int shiftBy = 0; shiftBy < 64; shiftBy += 8 ) {
        accum |= ( (long)( tmp[i] & 0xff ) ) << shiftBy;
        i++;
    }

        return Double.longBitsToDouble(accum);

但我找不到任何可以将 double 转换为字节数组的东西。

最佳答案

甚至更简单,

import java.nio.ByteBuffer;

public static byte[] toByteArray(double value) {
    byte[] bytes = new byte[8];
    ByteBuffer.wrap(bytes).putDouble(value);
    return bytes;
}

public static double toDouble(byte[] bytes) {
    return ByteBuffer.wrap(bytes).getDouble();
}

关于java - 如何将字节数组转换为 double 并返回?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2905556/

相关文章:

Java - Intellij 无法编译 GUI - 退出值 1

c++ - 当输入声明为 double [C++] 时检查输入是否为空

c - 将节点添加到双链表

java - 从字节数组转换为字符串并与另一个字符串进行比较(java)

javascript - 如何从 JPG 的 arrayBuffer 表示创建 Canvas imageData 数组

java - Jmeter:如何在单个请求中传递数组值?

java - 在java中交换文件的两列

java - 如何将字符串转换为 double

java - 将 ByteArray 转换为 String 时出现 OutOfMemory 异常?

java - 确定平均值