parse статический метод
- String source,
- {int? radix,
- @deprecated int onError(
- String source
Разбирает source как, возможно, знаковый целочисленный литерал и возвращает его значение.
source должна представлять собой непустую последовательность цифр по основанию radix, возможно, с префиксом в виде знака минус или плюс ('-' или '+').
radix должно находиться в диапазоне 2..36. Сначала используются десятичные цифры 0..9, затем буквы 'a'..'z' со значениями от 10 до 35. Также допускаются заглавные буквы с теми же значениями, что и у строчных.
Если radix не задан, по умолчанию используется значение 10. В этом случае цифры source также могут начинаться с 0x, и тогда число интерпретируется как шестнадцатеричный целочисленный литерал. Если int реализован с помощью 64-разрядных знаковых целых чисел, шестнадцатеричные целочисленные литералы могут представлять значения больше 263. В этом случае значение разбирается как беззнаковое число, а результатом становится соответствующее знаковое целое значение.
Для любого int n и допустимого основания r гарантируется, что n == int.parse(n.toRadixString(r), radix: r).
Если строка source не содержит допустимый целочисленный литерал, возможно с префиксом в виде знака, выбрасывается FormatException (если не используется устаревший параметр onError, см. ниже).
Вместо того чтобы выбрасывать FormatException и немедленно перехватывать её, используйте tryParse для обработки ошибки разбора.
Пример:
var value = int.tryParse(text);
if (value == null) {
// handle the problem
// ...
} Параметр onError устарел и будет удалён. Вместо int.parse(string, onError: (string) => ...) следует использовать int.tryParse(string) ?? (...).
Если исходная строка недопустима и задан onError, то вместо выбрасывания FormatException вызывается onError с аргументом source, а результат этого вызова возвращается методом parse.
Реализация
external static int parse(String source,
{int? radix, @deprecated int onError(String source)?});
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-core/int/parse.html