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

Dart 2では、int.tryParseを使用できます。

スローする代わりに、無効な入力に対してnullを返します。次のように使用できます。

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

onErrorパラメータint.parseは非推奨です。

于 2018-05-08T09:22:28.590 に答える
14

Int.parse名前付きのオプションのパラメーターを使用します。

API:

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

パラメータリストの{ }aroundパラメータは、これらがオプションの名前付きパラメータであることを示しています。([ ]パラメーターリストにパラメーターが含まれている場合、これらはオプションの位置パラメーターになります)

使用例:

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 に答える