float64ToBytes static method

Uint8List float64ToBytes(
  1. double value, {
  2. ByteOrder byteOrder = ByteOrder.bigEndian,
})

Convert 64-bit double to bytes.

Parameters:

Returns: 8 bytes in big-endian format

Implementation

static Uint8List float64ToBytes(double value, {ByteOrder byteOrder = ByteOrder.bigEndian}) {
  final data = ByteData(8);
  if (byteOrder == ByteOrder.bigEndian) {
    data.setFloat64(0, value, Endian.big);
  } else {
    data.setFloat64(0, value, Endian.big);
    final result = ByteData(8);
    for (int i = 0; i < 4; i++) {
      result.setUint16(i * 2, data.getUint16((3 - i) * 2, Endian.big), Endian.big);
    }
    return result.buffer.asUint8List();
  }
  return data.buffer.asUint8List();
}