description

# parse static method

BigInt parse(

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

})

Parses `source` as a, possibly signed, integer literal and returns 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 `source` digits may also start with `0x`, in which case the number is interpreted as a hexadecimal literal, which effectively means that the `0x` is ignored and the radix is instead set to 16.

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

Throws a FormatException if the `source` is not a valid integer literal, optionally prefixed by a sign. Examples:

    print(BigInt.parse('-12345678901234567890')); // -12345678901234567890
    print(BigInt.parse('0xFF')); // 255
    print(BigInt.parse('0xffffffffffffffff')); // 18446744073709551615

    // From binary (base 2) value.
    print(BigInt.parse('1100', radix: 2)); // 12
    print(BigInt.parse('00011111', radix: 2)); // 31
    print(BigInt.parse('011111100101', radix: 2)); // 2021
    // From octal (base 8) value.
    print(BigInt.parse('14', radix: 8)); // 12
    print(BigInt.parse('37', radix: 8)); // 31
    print(BigInt.parse('3745', radix: 8)); // 2021
    // From hexadecimal (base 16) value.
    print(BigInt.parse('c', radix: 16)); // 12
    print(BigInt.parse('1f', radix: 16)); // 31
    print(BigInt.parse('7e5', radix: 16)); // 2021
    // From base 35 value.
    print(BigInt.parse('y1', radix: 35)); // 1191 == 34 * 35 + 1
    print(BigInt.parse('z1', radix: 35)); // Throws.
    // From base 36 value.
    print(BigInt.parse('y1', radix: 36)); // 1225 == 34 * 36 + 1
    print(BigInt.parse('z1', radix: 36)); // 1261 == 35 * 36 + 1

## Implementation

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