parse 静态方法
将包含数字字面量的字符串解析为数字。
该方法首先尝试将 input
读取为整数(类似于 int.parse 不带基数)。如果失败,它尝试将 input
解析为双精度浮点数(类似于 double.parse)。如果这也失败,它将抛出 FormatException。
而不是抛出并立即捕获 FormatException,最好使用 tryParse 来处理潜在的解析错误。
对于任何数字 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;
throw FormatException(input);
}