readDouble method
Implementation
double readDouble({bool signed = true, int bits = 64, int maxDecimal = 8}) {
double sign = signed
? !readBit()
? -1.0
: 1.0
: 1.0;
double base = readInt(signed: false, bits: bits).toDouble();
int exponent = readInt(signed: false, bits: getBitsNeeded(maxDecimal));
int decimal =
readInt(signed: false, bits: getMaxBitsNeededForDigits(maxDecimal));
return double.parse((sign * (base + (decimal / pow(10, exponent))))
.toStringAsFixed(maxDecimal));
}