zukucode
主にWEB関連の情報を技術メモとして発信しています。

C# 文字列を数値に安全に変換する

C#で、string型の文字列を、intdecimalなどの数値型に、例外が発生しないように安全に変換する方法を紹介します。

以下のように、TryParseを使用します。

string value = "123";
if (int.TryParse(value, out int num))
{
    // valueがintに変換可能な場合のみこの処理が行われる
    // numはint型の変数として使用可能
}

if (decimal.TryParse(value, out decimal num))
{
    // valueがdecimalに変換可能な場合のみこの処理が行われる
    // numはdecimal型の変数として使用可能
}

int(またはdecimal).TryParseは、int(またはdecimal)に変換可能な場合はtrue、変換不可能の場合はfalseを返します。

変換不可能な場合でも例外が発生しないため、型チェックと型変換を両方安全に行うことができます。

また、第2引数にoutパラメータを指定することにより、数値変換した結果を変数として取得できます。


関連記事