Spec-Zone.ru › Dart 2

dart:core

parse статический метод

int parse(
  1. String source,
  2. {int? radix,
  3. @deprecated int onError(
    1. String source
    )?}
)
override

Разбирает 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API