【C#】文字列から数値への変換

C#

文字列から数値への変換でよく使われるメソッドを2種類紹介します。

Parseメソッドを使用した変換

Parseメソッドは、変換可能な文字列を数値に変換します。しかし、変換できない文字列が入力された場合、例外が発生します。

using System;

class Program
{
    static void Main()
    {
        try
        {
            string str = "123";
            int num = int.Parse(str);
            Console.WriteLine(num); // 出力: 123

            string dstr = "123.45";
            double dnum = double.Parse(dstr);
            Console.WriteLine(dnum); // 出力: 123.45
        }
        catch (FormatException)
        {
            Console.WriteLine("数値に変換できない文字列が入力されました。");
        }
        catch (OverflowException)
        {
            Console.WriteLine("数値が大きすぎるか小さすぎます。");
        }
    }
}

実行結果

123
123.45

TryParseメソッドを使用した変換

TryParseメソッドは、変換を試みて失敗した場合に例外を発生させずに、falseを返します。これにより、変換の成否を安全にチェックできます。

using System;

class Program
{
    static void Main()
    {
        string validStr = "123";
        if (int.TryParse(validStr, out int result))
        {
            Console.WriteLine(result); // 出力: 123
        }
        else
        {
            Console.WriteLine("変換できませんでした。");
        }

        string invalidStr = "abc";
        if (int.TryParse(invalidStr, out result))
        {
            Console.WriteLine(result);
        }
        else
        {
            Console.WriteLine("変換できませんでした。"); // この行が実行される
        }
    }
}

実行結果

123
変換できませんでした。

ParseメソッドとTryParseメソッドの使い分け

Parseは明確に変換可能な場合に適しています。
TryParseは変換の成否が不確実な場合に有用です。

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