numberOfIntegerDigits static method

int numberOfIntegerDigits(
  1. dynamic number
)

Implementation

static int numberOfIntegerDigits(dynamic number) {
  var simpleNumber = (number.toDouble() as double).abs();
  // It's unfortunate that we have to do this, but we get precision errors
  // that affect the result if we use logs, e.g. 1000000
  if (simpleNumber < 10) return 1;
  if (simpleNumber < 100) return 2;
  if (simpleNumber < 1000) return 3;
  if (simpleNumber < 10000) return 4;
  if (simpleNumber < 100000) return 5;
  if (simpleNumber < 1000000) return 6;
  if (simpleNumber < 10000000) return 7;
  if (simpleNumber < 100000000) return 8;
  if (simpleNumber < 1000000000) return 9;
  if (simpleNumber < 10000000000) return 10;
  if (simpleNumber < 100000000000) return 11;
  if (simpleNumber < 1000000000000) return 12;
  if (simpleNumber < 10000000000000) return 13;
  if (simpleNumber < 100000000000000) return 14;
  if (simpleNumber < 1000000000000000) return 15;
  if (simpleNumber < 10000000000000000) return 16;
  if (simpleNumber < 100000000000000000) return 17;
  if (simpleNumber < 1000000000000000000) return 18;
  return 19;
}