カテゴリ: C# 更新日: 2025/10/21

C#の文字列を数値に変換する方法(int.Parse・TryParse)をわかりやすく解説!

C#の文字列を数値に変換する方法(int.Parse・TryParse)
C#の文字列を数値に変換する方法(int.Parse・TryParse)

先生と生徒の会話形式で理解しよう

生徒

「先生、C#で文字として入力された数字を本物の数値に変換したいんですが、どうすればいいんですか?」

先生

「良い質問ですね。C#では、文字列を数値に変えるときにint.Parseint.TryParseを使います。」

生徒

「なるほど!でも、どんなときにどちらを使えばいいんですか?」

先生

「それでは、両方の使い方を丁寧に説明していきましょう!」

1. C#で文字列を数値に変換するとは?

1. C#で文字列を数値に変換するとは?
1. C#で文字列を数値に変換するとは?

プログラムでは、ユーザーの入力やファイルから読み取ったデータは、たいてい「文字列(string型)」として扱われます。しかし、計算などの処理を行うには、「数値(int型など)」に変換する必要があります。

たとえば、キーボードから「123」と入力しても、それは「文字としての123」であり、足し算や引き算はできません。そこで、C#のint.Parseint.TryParseを使って「文字列を数値に変換」します。

2. int.Parseの基本的な使い方

2. int.Parseの基本的な使い方
2. int.Parseの基本的な使い方

int.Parseメソッドは、文字列を整数(int型)に変換する最もシンプルな方法です。以下のサンプルを見てみましょう。


string text = "123";
int number = int.Parse(text);
Console.WriteLine(number + 10);

このコードでは、文字列「123」をint.Parseで整数に変換しています。その結果、numberには123が代入され、number + 10の計算で133が出力されます。


133

とても簡単ですね!ただし注意点があります。もし文字列の中に「数字以外の文字」が含まれていると、エラー(例外)が発生します。


string text = "abc";
int number = int.Parse(text); // ここでエラーになります!

このような場合、プログラムが途中で止まってしまうため、安全に変換したいときはTryParseを使います。

3. TryParseで安全に変換する方法

3. TryParseで安全に変換する方法
3. TryParseで安全に変換する方法

int.TryParseは、「変換できるかどうか」をチェックしてくれる便利なメソッドです。文字列が数値に変換できない場合でも、エラーにはならず、安全に失敗を検出できます。


string text = "123";
int result;

bool success = int.TryParse(text, out result);

if (success)
{
    Console.WriteLine("変換成功:" + result);
}
else
{
    Console.WriteLine("変換失敗");
}

変換成功:123

このように、TryParseは「変換に成功したかどうか」をbool(真偽値)で返します。成功すればtrue、失敗すればfalseです。

outキーワードは、変換結果を受け取るための変数を指定するものです。outとは「外に出す」という意味で、変換した結果がresultに格納されます。

4. TryParseがエラーを防ぐ仕組み

4. TryParseがエラーを防ぐ仕組み
4. TryParseがエラーを防ぐ仕組み

もう少し詳しく見てみましょう。もし、変換できない文字列を入力した場合でも、TryParseはエラーを起こさずに処理を続けます。


string text = "abc";
int result;

bool success = int.TryParse(text, out result);

if (success)
{
    Console.WriteLine("変換成功:" + result);
}
else
{
    Console.WriteLine("変換失敗。入力が数値ではありません。");
}

変換失敗。入力が数値ではありません。

このように、TryParseを使うと、ユーザーが誤って文字を入力しても安全に処理できます。実際のアプリケーションや業務システムでも非常によく使われます。

5. 数値に変換できる文字列とできない文字列

5. 数値に変換できる文字列とできない文字列
5. 数値に変換できる文字列とできない文字列

次に、「どんな文字列が変換できるのか?」を確認してみましょう。

  • "123" → OK(整数に変換可能)
  • "-45" → OK(マイナスの整数もOK)
  • "12.3" → NG(小数点を含む文字列はintでは変換できません)
  • "abc" → NG(数字以外の文字が含まれているため変換できません)
  • ""(空文字) → NG(何もない文字列も変換できません)

もし小数を扱いたい場合は、double.Parsedouble.TryParseを使うとよいでしょう。

6. 実用例:ユーザーの入力を数値に変換して計算する

6. 実用例:ユーザーの入力を数値に変換して計算する
6. 実用例:ユーザーの入力を数値に変換して計算する

最後に、TryParseを使って、ユーザーから入力された値を安全に数値に変換する例を見てみましょう。


Console.WriteLine("数字を入力してください:");
string input = Console.ReadLine();

if (int.TryParse(input, out int number))
{
    Console.WriteLine("入力した数字の2倍は:" + (number * 2));
}
else
{
    Console.WriteLine("入力が正しい数字ではありません。");
}

数字を入力してください:
50
入力した数字の2倍は:100

このように、入力された文字列が数値であれば計算を行い、間違った入力ならエラーメッセージを出すことができます。ユーザーが入力を間違えることを前提に安全なプログラムを作ることが大切です。

7. まとめ:int.ParseとTryParseの違いを整理

7. まとめ:int.ParseとTryParseの違いを整理
7. まとめ:int.ParseとTryParseの違いを整理

最後に、2つのメソッドの違いを表で整理しておきましょう。

メソッド特徴エラー時の動作
int.Parse文字列を整数に直接変換変換できないとエラー発生
int.TryParse変換の成功・失敗を判定可能エラーを出さずfalseを返す

初心者のうちは、まずTryParseを使って安全にプログラムを書く習慣をつけると良いでしょう。

カテゴリの一覧へ
新着記事
C#で複数ファイルをまとめて操作する方法(foreach・LINQ)をやさしく解説!
C#のインターフェースとは?クラス設計を柔軟にする基本技術
C#のコンストラクタの役割と使い方!オブジェクト初期化の基本
COBOLでデータベース接続を理解しよう!初心者でもわかる基本の考え方
人気記事
No.1
Java&Spring記事人気No1
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#で型を調べる方法!GetType()・typeof演算子の違いと使い方
No.3
Java&Spring記事人気No3
C#の数値型をマスターしよう!int・double・decimalの違いと使い方
No.4
Java&Spring記事人気No4
COBOLのCOPY句の使い方を完全ガイド!初心者でもわかる共通部品の再利用方法