Метод parse
- String source,
- {int? radix,
- @deprecated int onError(
- String source
Разбирает строку source как целое число (возможно со знаком) и возвращает его значение.
Строка source должна быть непустой последовательностью цифр в заданной системе счисления, необязательно с префиксом минус или плюс ('-' или '+').
Система счисления radix должна быть в диапазоне от 2 до 36. Использоваемые цифры — десятичные цифры от 0 до 9, а затем буквы 'a'..'z' со значениями от 10 до 35. Также принимаются заглавные буквы с теми же значениями, что и строчные.
Если система счисления radix не указана, она по умолчанию равна 10. В этом случае, строка source может начинаться с 0x, и в этом случае число интерпретируется как шестнадцатеричная константа. Когда int реализуется 64-разрядными целыми числами со знаком, шестнадцатеричные константы могут представлять значения, большие, чем 263. В этом случае значение анализируется как беззнаковое число, а результат — соответствующее целое число со знаком.
Для любого целого числа 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.18.5/dart-core/int/parse.html