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 должна быть в диапазоне от 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

Spec-Zone.ru

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