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