Метод parse
num parse(Парсит строку, содержащую числовое значение, в число.
Метод сначала пытается прочитать input как целое число (аналогично int.parse без основания). Если это не удается, он пытается разобрать input как вещественное число (аналогично double.parse). Если и это не удается, он вызывает onError с input, и результат этого вызова становится результатом вызова parse.
Если функция onError не указана, используется функция, которая выбрасывает FormatException.
Для любого числа n, эта функция удовлетворяет identical(n, num.parse(n.toString())) (кроме случаев, когда n является NaN double с полезной нагрузкой).
Исходный код
static num parse(String input, [num onError(String input)]) {
String source = input.trim();
// TODO(lrn): Optimize to detect format and result type in one check.
num result = int.parse(source, onError: _returnIntNull);
if (result != null) return result;
result = double.parse(source, _returnDoubleNull);
if (result != null) return result;
if (onError == null) throw new FormatException(input);
return onError(input);
}
© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dartlang.org/stable/1.24.3/dart-core/num/parse.html