digits method

Iterable<int> digits([
  1. int base = 10
])

Returns an iterable over the digits of this int, in the optionally given base.

Implementation

Iterable<int> digits([int base = 10]) sync* {
  if (this == 0) {
    yield 0;
  } else {
    var number = abs();
    while (number != 0) {
      final next = number ~/ base;
      yield number - next * base;
      number = next;
    }
  }
}