数値型・真偽型への変換
文字列型を数値型・真偽型へ変換する
文字列型を数値型や真偽型へ変換するには、各クラスのParseメソッドを使用します。
// int型へ変換
int.Parse(文字列)
// long型へ変換
long.Parse(文字列)
// float型へ変換
float.Parse(文字列)
// double型へ変換
double.Parse(文字列)
// bool型へ変換
bool.Parse(文字列)
それではサンプルを見てみましょう。
Console.WriteLineを使って、Parseの動作をコンソールに出力します。
1 2 3 4 5 6 7 8 9 10 11 |
int i = int.Parse("100"); long l = long.Parse("200"); float f = float.Parse("300.1"); double d = double.Parse("400.12"); bool b = bool.Parse("True"); Console.WriteLine(i); Console.WriteLine(l); Console.WriteLine(f); Console.WriteLine(d); Console.WriteLine(b); |
上記を実行した結果がこちらです。
100
200
300.1
400.12
True
実行結果がコンソールに出力されました。
文字列がそれぞれの型に変換されているのがわかります。
変換可能かチェックしてから変換する
それぞれの型へ変換する際、変換できない想定外の値を引数として渡してしまった場合、例外となってしまいます。
それを防ぐには、変換前に変換可能かどうかのチェックを行う必要があります。
変換可否のチェックには、TryParseメソッドを使用します。
// int型へ変換可能か
int.TryParse(文字列, out int型変数)
// long型へ変換可能か
long.TryParse(文字列, out long型変数)
// float型へ変換可能か
float.TryParse(文字列, out float型変数)
// double型へ変換可能か
double.TryParse(文字列, out double型変数)
// bool型へ変換可能か
bool.TryParse(文字列, out bool型変数)
それではサンプルを見てみましょう。
Console.WriteLineを使って、TryParseの動作をコンソールに出力します。
1 2 3 4 5 6 7 8 |
int i; bool flgi = int.TryParse("100", out i); bool b; bool flgb = bool.TryParse("100", out b); Console.WriteLine(flgi); Console.WriteLine(flgb); |
上記を実行した結果がこちらです。
True
False
実行結果がコンソールに出力されました。
文字列がそれぞれの型に変換できるかどうかがわかります。
この結果を使用し、以下のようにif文で判定することで、例外を防ぎ変換後の値を使用することが可能です。
なお、変換可能な場合はoutで指定した変数に変換後の値が入ります。
1 2 3 4 5 6 7 |
int i; bool flg = int.TryParse("100", out i); if (flg == true) { Console.WriteLine(i); } |
以上が、文字列型を数値型・真偽型へ変換するメソッド「Parse」と、変換できるかをチェックする「TryParse」の使い方です。
ぜひ参考にしてみてください。