【Dart】文字列をint型に変換する方法

【Dart】文字列をint型に変換する方法

未経験から最短3カ月でプログラマーへ!!【0円スクール】

この記事はで読むことができます。

この記事でわかること

  • int.parse()メソッドで文字列をint型に変換する方法
  • tryParse()メソッドを使ってエラーを避ける方法

目次 閉じる

はじめに

Dartで開発していると、ユーザーからの入力やAPIのレスポンスで取得した文字列を整数型(int型)に変換する場面が多々あります。この際、正しい変換方法を使わなければ、プログラムがエラーを起こすこともあります。この記事では、int.parse()を使って文字列をint型に変換する基本的な方法を解説し、変換が失敗した場合のエラーハンドリングも含めた手法について詳しく説明します。これにより、Dartでの数値変換が安全かつスムーズに行えるようになります。

方法1:int.parse()メソッドで文字列をint型に変換する

Dartでは、int.parse()メソッドを使って文字列をint型に変換します。このメソッドは、数値に変換可能な文字列に対してのみ動作します。もし数値に変換できない文字列を渡した場合、FormatExceptionがスローされます。

Dart
void main() {
  var text = "123";
  
  // 文字列をint型に変換する
  int num = int.parse(text);
  
  print(num); // 出力: 123
}

この例では、"123"という文字列をint.parse()で変換して、整数123を取得しています。

int.parse()は、数値として解釈できる文字列に対してのみ使用でき、変換が成功すればその数値を返します。

方法2:tryParse()メソッドを使ってエラーを避ける

int.parse()メソッドは、変換できない文字列を入力するとエラーを起こします。これを避けるために、Dartはint.tryParse()メソッドを提供しています。このメソッドは、変換に失敗した場合にnullを返し、プログラムがクラッシュしないようにします。

Dart
void main() {
  var text = "abc";
  
  // tryParseで変換失敗時はnullを返す
  int? num = int.tryParse(text);
  
  print(num); // 出力: null
}

tryParse()メソッドを使うことで、変換に失敗してもnullを返し、安全にプログラムを実行できます。

tryParse()メソッドは、変換できない文字列に対してもエラーを出さずに処理できるため、ユーザー入力や外部データの処理に便利です。

方法3:parse()メソッドのエラーハンドリング

int.parse()メソッドにエラーハンドリングを組み込む場合、try-catchを使ってエラーを捕捉するか、onErrorオプションを使用してカスタムエラー処理を行います。特に、エラーが発生した際にデフォルト値を返す場合などに有効です。

Dart
void main() {
  var text = "abc";
  
  // onErrorオプションを使ってエラー処理を行う
  int num = int.parse(text, onError: (value) => 0);
  
  print(num); // 出力: 0 (エラーが発生したため)
}

この方法では、変換に失敗した場合に0を返すようにしています。エラーを防ぎながら、代替の処理を行うことができます

エラーを防ぎながら、代替の処理を行うことができます

まとめ

Dartで文字列をint型に変換するには、int.parse()メソッドが基本ですが、入力データが不確実な場合は、tryParse()onErrorオプションを使うことで安全にエラーハンドリングができます。これらのメソッドを組み合わせることで、アプリケーションの信頼性を高め、ユーザーからの予期しない入力にも柔軟に対応できるようになります。

ご質問があれば、どうぞお気軽にお尋ねください。
それでは、Happy Fluttering!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です