roundToNextSignificant static method
Implementation
static double roundToNextSignificant(double number) {
if (number.isInfinite || number.isNaN || number == 0.0) return 0;
final double d =
(log(number < 0 ? -number : number) / ln10).ceil().toDouble();
final int pw = 1 - d.toInt();
final double magnitude = pow(10.0, pw) as double;
final int shifted = (number * magnitude).round();
return shifted / magnitude;
}