[Dart]文字列をint型に変換するには?

Dart

どうも、ちょげ(@chogetarou)です。

Dartで文字列をint型に変換する方法を紹介します。

スポンサーリンク

方法

コンピューター, ノート, オフィス, コード, プログラミング, プログラム

文字列をint型に変換するには、pasrseメソッドを使います。

具体的には、「int.parse(str)」のように、「int」から引数に変換対象の文字列を指定したparseメソッドを呼び出します。

int num = int.parse(str);

parseメソッドを使えば、文字列をint型に変換することが出来ます。

エラー

parseメソッドは、「abc」などの数値に変換できない文字列でエラーを起こします。

エラーを対策したい場合は、tryParseメソッドもしくはparseメソッドの引数「onError」を使います。

//変換失敗でnullを返す
int num = int.tryParse(str);

//変換失敗で引数「onError」の戻り値を代わりに返す
int num2 = int.parse(str, onError: (value) => e)

tryParseメソッドは変換失敗時に「null」、parseメソッドの引数「onError」は変換失敗時にコールバック関数の戻り値を返します。

tryParseメソッドもしくはparseメソッドの引数「onError」を使えば、parseメソッドの変換失敗のエラーを対策することが出来ます。

使用例

void main() {
  
  var text = "123";
  int num = int.parse(text);
  print(num); //123
  
  //変換失敗のエラー対策
  var text2 = "abc";
  int? num2 = int.tryParse(text2);
  int num3 = int.parse(text2, onError: (value) => 0);
  
  print(num2); //null
  print(num3); //0
 
}

コメント

タイトルとURLをコピーしました