decToBase function

String decToBase(
  1. String stringDec,
  2. int base
)

Convert stringDec, the String representation of a decimal value (e.g. "10"), to another base depending of the value of base (E.g. 16 for hexadecimal, 2 for binary, etc.).

Implementation

String decToBase(String stringDec, int base) {
  var regExp = getBaseRegExp(10);
  if (!regExp.hasMatch(stringDec)) return '';

  var dec = int.parse(stringDec);
  var digits = <int>[];
  while (dec > 0) {
    final remainder = dec % base;
    // '0'-'9' have code unit 48-57, 'A'-'F' have code unit 65-70
    digits.add(remainder >= 10 ? remainder + 55 : remainder + 48);
    dec = dec ~/ base;
  }
  if (digits.isEmpty) return '';
  return String.fromCharCodes(digits.reversed);
}