parseRadix static method

Int32 parseRadix(
  1. String s,
  2. int radix
)

Parses a String in a given radix between 2 and 16 and returns an Int32.

Implementation

// TODO(rice) - Make this faster by converting several digits at once.
static Int32 parseRadix(String s, int radix) {
  _validateRadix(radix);
  var x = ZERO;
  for (var i = 0; i < s.length; i++) {
    var c = s.codeUnitAt(i);
    var digit = _decodeDigit(c);
    if (digit < 0 || digit >= radix) {
      throw FormatException('Non-radix code unit: $c');
    }
    x = ((x * radix) + digit) as Int32;
  }
  return x;
}