digitsAfterDecimal static method
Calculates the number of significant digits after the decimal point.
This only considers digits that fall within the measurement's precision, e.g.:
digitsAfterDecimal(meters(1.2345)); // 4
digitsAfterDecimal(meters(1.2345, precision: Precision(3))); // 2
Implementation
static int digitsAfterDecimal(final Measurement measurement) {
if (measurement.isInfinite || measurement.isNaN) {
return 0;
}
final string = measurement._preciseSI().toStringAsExponential();
final locationOfE = string.indexOf('e');
return math.max(
measurement.precision -
int.parse(string.substring(locationOfE + 1)) -
1,
0);
}