Spec-Zone.ru › Dart 2

dart:core

метод parse

num parse(
  1. String input,
  2. [@deprecated num onError(
    1. String input
    )?]
)

Парсит строку, содержащую числовую литерал, в число.

Метод сначала пытается прочитать input как целое число (аналогично int.parse без радикса). Если это не удаётся, он пытается пропарсить input как вещественное число (аналогично double.parse). Если и это не сработает, он вызывает onError с input, и результат этого вызова становится результатом вызова parse.

Если функция onError не указана, по умолчанию используется функция, которая выбрасывает исключение FormatException.

Для любого числа n, эта функция удовлетворяет identical(n, num.parse(n.toString())) (за исключением случаев, когда n является NaN double с полезной нагрузкой).

Параметр onError устарел и будет удален. Вместо num.parse(string, (string) { ... }), следует использовать num.tryParse(string) ?? (...).

Примеры:

var value = num.parse('2021'); // 2021
value = num.parse('3.14'); // 3.14
value = num.parse('  3.14 \xA0'); // 3.14
value = num.parse('0.'); // 0.0
value = num.parse('.0'); // 0.0
value = num.parse('-1.e3'); // -1000.0
value = num.parse('1234E+7'); // 12340000000.0
value = num.parse('+.12e-9'); // 1.2e-10
value = num.parse('-NaN'); // NaN
value = num.parse('0xFF'); // 255
value = num.parse(double.infinity.toString()); // Infinity
value = num.parse('1f'); // Throws.

Реализация

static num parse(String input, [@deprecated num onError(String input)?]) {
  num? result = tryParse(input);
  if (result != null) return result;
  if (onError == null) throw FormatException(input);
  return onError(input);
}

© 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/num/parse.html

Spec-Zone.ru

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