这是关于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时,我收到了编辑关于使用额外参数的投诉。我误解了文档吗?例如,如何设置基数?
答案 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
参数已弃用。