parsedNumber property

num parsedNumber

The numeric literal represented by this token.

Implementation

num get parsedNumber {
  if (hexDigits != null) {
    return int.parse(hexDigits!, radix: 16);
  }

  final beforeDecimal =
      digitsBeforeDecimal != null ? int.parse(digitsBeforeDecimal!) : 0;

  num number;

  if (!hasDecimalPoint) {
    number = beforeDecimal;
  } else if (digitsAfterDecimal != null) {
    number = beforeDecimal + double.parse('.$digitsAfterDecimal');
  } else {
    // Is of the form 3., so just infer as double
    number = beforeDecimal.toDouble();
  }

  if (exponent != null) {
    number *= pow(10, exponent!);
  }
  return number;
}