parse method - int class - dart:core library (original) (raw)

parse static method

int parse(

  1. String source, {
  2. int? radix, })

override

Parse source as a, possibly signed, integer literal and return its value.

The source must be a non-empty sequence of base-radix digits, optionally prefixed with a minus or plus sign ('-' or '+').

The radix must be in the range 2..36. The digits used are first the decimal digits 0..9, and then the letters 'a'..'z' with values 10 through 35. Also accepts upper-case letters with the same values as the lower-case ones.

If no radix is given then it defaults to 10. In this case, the sourcedigits may also start with 0x, in which case the number is interpreted as a hexadecimal integer literal, When int is implemented by 64-bit signed integers, hexadecimal integer literals may represent values larger than 263, in which case the value is parsed as if it is an_unsigned_ number, and the resulting value is the corresponding signed integer value.

For any int n and valid radix r, it is guaranteed thatn == int.parse(n.toRadixString(r), radix: r).

If the source string does not contain a valid integer literal, optionally prefixed by a sign, a FormatException is thrown.

Rather than throwing and immediately catching the FormatException, instead use tryParse to handle a potential parsing error.

Example:

var value = int.tryParse(text);
if (value == null) {
  // handle the problem
  // ...
}

Implementation

external static int parse(String source, {int? radix});