カテゴリ: C# 更新日: 2025/12/01

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#で開発を行う上で、文字列を数値に変換する処理は非常に頻繁に登場します。ユーザーが入力した値やファイルから取得したデータは基本的に文字列として扱われますが、実際の計算処理やデータ分析を行うには整数や小数といった数値型に変換する必要があります。今回の記事で学んだint.Parseint.TryParseは、そのための基本的な手段としてとても重要な役割を持っています。どちらも文字列を実際の数値に変えるためのメソッドですが、特徴や使いどころが異なるため、目的に応じて選び分ける技術が求められます。 特にユーザー入力が関わる場面では、誤入力が起きることを想定して安全なコードを書くことが求められるため、TryParseのように例外を防ぎつつ動作を続行できるメソッドは非常に実用的です。正しいデータが入力されているかどうかを丁寧に確認しながら、確実に処理を進められるようにすることが、堅牢で扱いやすいアプリケーションにつながります。

int.Parseで素早く変換、TryParseで安全に変換

文字列を数値に変換する最もシンプルな手段がint.Parseです。数字だけで構成された文字列であればそのまま整数に変換でき、コードも非常に読みやすくなるため、確実に数字であると分かっている状況には最適です。一方で、文字列に数字以外の文字が含まれていたり、空文字が渡されてしまった場合には例外が発生し、プログラムが途中で停止してしまいます。それを防ぐのがTryParseです。変換が可能かどうかを判断してくれ、失敗しても例外を投げずfalseを返すため、安心して入力を扱うことができます。 たとえば計算機の入力欄や商品注文数の入力など、誤入力が起こりやすい場所ではTryParseが非常に役立ちます。プログラムが予期せぬ動きをしないよう、エラーを避けながら数値に変換する仕組みを作ることが可能です。

変換できる文字列・できない文字列の理解が品質につながる

数字として認識される文字列は、基本的に数字のみ、または先頭に「-」が付いた整数です。それ以外の文字列、たとえば小数点を含む文字列やアルファベットが紛れた文字列、空文字などは整数型には変換できません。これらの違いを理解することで、ユーザーがどのような入力をした際にエラーが起こりやすいかを予測できます。予測できるようになれば、エラーメッセージの表示や入力チェックの仕組みをより適切に作れるようになります。 さらに、用途に応じてdouble.Parsedouble.TryParseなどの別の型への変換も必要になる場面が出てくるため、型変換の基礎をしっかり理解しておくことは長期的な学習にもつながります。

まとめ用サンプルコード


using System;

class Program
{
    static void Main()
    {
        Console.Write("整数を入力してください:");
        string input = Console.ReadLine();

        // TryParseで安全に変換
        if (int.TryParse(input, out int number))
        {
            Console.WriteLine($"入力した数の3倍は:{number * 3}");
        }
        else
        {
            Console.WriteLine("正しい整数を入力してください。");
        }

        // Parseの使い方(注意点付き)
        try
        {
            int parsed = int.Parse(input);
            Console.WriteLine($"Parse成功:{parsed}");
        }
        catch
        {
            Console.WriteLine("Parseでは変換できませんでした。");
        }
    }
}

このサンプルでは、TryParseParseの両方を用いた変換処理を確認できます。実行状況に応じて動作の違いを比較することで、それぞれの役割がより明確になります。数値変換は多くのアプリケーションの基盤となる処理であり、正しい変換方法をわかっているだけでプログラムの安定性は大きく高まります。

先生と生徒の振り返り会話

生徒

「ParseとTryParseの違いがようやく理解できました!安全に変換したいときはTryParseを使えばいいんですね。」

先生

「その通りです。数字として信頼できる入力ならParse、そうでないならTryParseを使い分けるとよいですよ。」

生徒

「ユーザーが何を入力するかわからないときはTryParseを使うべきだと分かりました!」

先生

「その意識はとても大切です。正しい数値変換ができるようになれば、もっと複雑な処理にも応用できますよ。」

生徒

「はい!これで数字の扱いが怖くなくなりました!」

カテゴリの一覧へ
新着記事
New1
C#
C#のデフォルト引数と名前付き引数の使い方を解説!初心者でも安心のやさしい入門
New2
C#
C#のオブジェクト初期化子を完全ガイド!初心者でもわかる便利な使い方
New3
COBOL
COBOLの帳票出力と編集を完全マスター!条件付き表示で分かりやすい書類を作る方法
New4
COBOL
COBOLの帳票出力を完全攻略!数値項目のカンマ・小数点編集例を徹底解説
人気記事
No.1
Java&Spring記事人気No1
C#
C#のpartialクラスとは?初心者でも理解できるクラス分割の基本
No.2
Java&Spring記事人気No2
C#
C#でJSONファイルを読み書きする方法(JsonSerializer・Newtonsoft.Json)
No.3
Java&Spring記事人気No3
C#
C#でswitch式を使う方法!C# 8.0以降の新機能を解説
No.4
Java&Spring記事人気No4
C#
C#のLINQクエリ構文の書き方と基本操作をマスターしよう
No.5
Java&Spring記事人気No5
COBOL
COBOLの数値データ型「PIC 9」の使い方と注意点をやさしく解説!
No.6
Java&Spring記事人気No6
C#
C#のLINQ(リンク)とは?基本概念とデータ操作を初心者向けに徹底解説!
No.7
Java&Spring記事人気No7
C#
C#の非同期処理とUIスレッドをマスター!WPF/WinFormsでアプリが止まる問題を解決
No.8
Java&Spring記事人気No8
C#
C#のCancellationTokenを使ったキャンセル処理を完全ガイド!非同期処理を安全に止める方法