C#の型変換まとめ!int.Parse・ToStringなどの変換方法を解説
生徒
「C#で数字を文字に変えたり、その逆にしたりする方法ってありますか?」
先生
「はい、C#では型変換といって、数字(int型)を文字(string型)にしたり、その逆を行う方法がいくつかあります。」
生徒
「プログラミング未経験でも理解できますか?」
先生
「もちろんです!一つひとつ丁寧に、例えも交えながら解説していきますね。」
1. 型(かた)とは何か?
まず型(かた)という言葉を覚えましょう。これは「データの種類」のことです。たとえば、
- 数字は「int型(整数)」
- 文字列は「string型(文字)」
- 小数は「double型」や「float型」
プログラムでは、データを扱うときに「これは数字」「これは文字」と、必ずその種類を決めておく必要があります。
2. なぜ型変換が必要なの?
現実の世界でいうと、お金を数えるときに数字と文字が混ざっていたら困るようなものです。
例えば、入力フォームで「20」と文字で入力されたものを、計算のために数字として扱いたいときがあります。そういうときにstring型→int型の型変換が必要になるのです。
3. int.Parseで文字を数字に変換する方法
int.Parse
は、文字(string型)を数字(int型)に変換するための方法です。
使い方はとてもシンプルです。
string text = "123";
int number = int.Parse(text);
Console.WriteLine(number);
このコードでは、文字列の"123"を数値に変換してから表示しています。
123
注意点として、もし文字列に数字以外が含まれているとエラーになります。
4. ToStringで数字を文字に変換する方法
逆に、数字(int型)を文字(string型)に変えるにはToString()
を使います。
int number = 456;
string text = number.ToString();
Console.WriteLine(text);
456
これを使うことで、数字を画面に表示したり、文字として扱うことができます。
5. Convertクラスを使った型変換
C#ではConvert
というクラスでも型変換ができます。
たとえば、文字を整数にするにはConvert.ToInt32
を使います。
string input = "789";
int value = Convert.ToInt32(input);
Console.WriteLine(value);
789
こちらもint.Parse
と同じく、数字でない文字列を変換しようとするとエラーになります。
6. 型変換の注意点とエラー対策
初心者の方がよくつまずくのは「文字を数字に変換しようとしたけどエラーになる」という場面です。
たとえば、次のようなコードはエラーになります。
string wrongText = "abc";
int result = int.Parse(wrongText); // これはエラー!
文字列が「abc」なので、数字として変換できず、実行時に例外(れいがい)が発生します。
※「例外」とは、プログラムで起こるエラーのことです。
7. TryParseで安全に変換する方法
数字に変換できるかどうかを事前にチェックしながら変換したいときはint.TryParse
を使います。
これはエラーにならず、安全に使える方法です。
string input = "123";
int number;
bool isSuccess = int.TryParse(input, out number);
if (isSuccess)
{
Console.WriteLine("変換成功:" + number);
}
else
{
Console.WriteLine("変換失敗");
}
変換成功:123
このように、TryParseは成功・失敗の結果をbool型
(trueまたはfalse)で返します。間違った文字列でもエラーが出ないのがポイントです。
8. double型やfloat型への変換
小数(たとえば「3.14」など)を扱いたいときはdouble.Parse
やfloat.Parse
を使います。
string piText = "3.14";
double pi = double.Parse(piText);
Console.WriteLine(pi);
3.14
小数点を使った計算が必要なときには、このような変換が便利です。
9. よくある型変換の例一覧
以下はC#でよく使われる型変換の例です。
int.Parse("100")
→ 文字列から整数Convert.ToDouble("3.14")
→ 文字列から小数123.ToString()
→ 整数から文字列bool.Parse("true")
→ 文字列から真偽値(true/false)
このように、C#にはたくさんの変換方法があります。それぞれの型に合った方法を使い分けることが大切です。