parse method
int parse(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 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)
.
If the source
is not a valid integer literal, optionally prefixed by a sign, the onError
is called with the source
as argument, and its return value is used instead. If no onError
is provided, a FormatException is thrown.
The onError
handler can be chosen to return null
. This is preferable to to throwing and then immediately catching the FormatException. Example:
var value = int.parse(text, onError: (source) => null); if (value == null) ... handle the problem
The onError
function is only invoked if source
is a String. It is not invoked if the source
is, for example, null
.
Source
external static int parse(String source, {int radix, int onError(String source)});
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/int/parse.html