Dart 文字列をintに変換する

Dart 文字列をintに変換する

Dartで、文字列をintに変換するコードを記述してます。「parse」で可能です。数値以外の文字列に対して使用するとエラーが発生します。

環境

  • OS windows11 home
  • Dart 2.18.4

文字列をintに変換

文字列をintに変換するには、「 parse 」を使用します。

int.parse(文字列)

実際に、使用してみます。

void main() {

  String str = '123';

  print(int.parse(str));
  // 123

  print(int.parse(str).runtimeType);
  // int

}

実行結果を見ると、変換されていることが確認できます。

空白は無視されます。

void main() {

  String str = ' -10  ';

  print(int.parse(str));
  // 123

  print(int.parse(str).runtimeType);
  // int

}

数値以外の文字

数値以外の文字を指定するとエラーが発生します。

void main() {

  String str = 'abc';

  print(int.parse(str));
  // FormatException: Invalid radix-10 number (at character 1)

  print(int.parse(str).runtimeType);

}

「tryParse」を使用すると、エラーではなく「null」が返ります。

void main() {

  String str = 'abc';

  print(int.tryParse(str));
  // null

  print(int.tryParse(str).runtimeType);
  // Null

}

変換できない場合、指定した値を返したければ「??」演算子を使用します。

void main() {

  String str = 'abc';

  print(int.tryParse(str) ?? 0);
  // 0

}