有没有更好的方法来解析Dart中的int

时间:2013-03-08 08:14:15

标签: dart

这是关于Dart中int.parse的几个问题......

我知道在Dart中我们可以将字符串解析为int并使用类似的东西捕获异常:

try {
  n = int.parse(input.value);
  // etc.
} on FormatException {
  // etc.
}

(没关系。)

在文档中,有以下对int.parse的描述:

int parse(String source, int radix, int onError(String source))

然而,当我尝试使用带有多个参数的int.parse时,我收到了编辑关于使用额外参数的投诉。我误解了文档吗?例如,如何设置基数?

2 个答案:

答案 0 :(得分:9)

Int.parse使用命名的可选参数。

API:

int parse(String source, {int radix, int onError(String source)})

参数列表中的{ }个参数表示这些可选,名为参数。 (如果参数列表中有[ ]个参数,那么这些参数将是可选,位置参数)

示例用法:

int.parse("123");
int.parse("123", radix:16);
int.parse("123", onError:(source) => print("Source"));
int.parse("123", radix:16, onError:(source) => print(source));

答案 1 :(得分:5)

在Dart 2中,int.tryParse可用。

对于无效输入而不是抛出,它返回null。您可以像这样使用它:

int val = int.tryParse(text) ?? defaultValue;

onError中的int.parse参数已弃用。