12

这是 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 与多个参数一起使用时,我收到了编辑的投诉,称我使用了额外的参数。我误解了文档吗?例如,如何设置基数?

4

2 回答 2

46

In Dart 2, int.tryParse is available.

It returns null for invalid inputs instead of throwing. You can use it like this:

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

The onError parameter in int.parse is deprecated.

于 2018-05-08T09:22:28.590 回答
14

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

接口:

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));
于 2013-03-08T09:22:13.683 回答