C# 文字列を数値に安全に変換する
C#
で、string
型の文字列を、int
やdecimal
などの数値型に、例外が発生しないように安全に変換する方法を紹介します。
以下のように、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
パラメータを指定することにより、数値変換した結果を変数として取得できます。