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.19.6/dart-core/num/parse.html

Spec-Zone.ru

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