共通関数

[C#共通関数] カンマ区切り形式の数値を数値型に変換するFunction

2022年2月2日

カンマ区切り形式の数値を、数値型に変換するFunctionです。
int版(整数)と、double版(小数)の2種類用意しました。

マイナス値にも対応しています。

サンプル(int版)

カンマ区切り形式の数値を数値型に変換するFunction(int版)


public static int? CommaNumToInt(String val)
{
  int? result = null;

  try
  {
    result = int.Parse(val,
    NumberStyles.AllowThousands | NumberStyles.AllowLeadingSign);
  }
  catch (Exception ex) {}

  return result;
}

(使用例)


// "1,234,567"をint型数値に変換する
int? val = CommaNumToInt("1,234,567");
→ 1234567

// "-1,234,567"をint型数値に変換する
int? val = CommaNumToInt("-1,234,567");
→ -1234567

// "abc"をint型数値に変換する
int? val = CommaNumToInt("abc");
→ null

サンプル(double版)

カンマ区切り形式の数値を数値型に変換するFunction(double版)


public static double? CommaNumToDouble(String val)
{
  double? result = null;

  try
  {
    result = double.Parse(val,
    NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint |
    NumberStyles.AllowLeadingSign);
  }
  catch (Exception ex){}

  return result;
}

(使用例)


// "1,234,567.89"をdouble?型数値に変換する
double? val = CommaNumToDouble("1,234,567.89");
→ 1234567.89

// "-1,234,567.89"をdouble?型数値に変換する
double? val = CommaNumToDouble("-1,234,567.89");
→ -1234567.89

// "1,234"をdouble?型数値に変換する
double? val = CommaNumToDouble("1,234");
→ 1234.0

// "abc"をdouble?型数値に変換する
double? val = CommaNumToDouble("abc");
→ null

備考

  • カンマ区切り数値でない文字列が指定された場合はnullが返ります。(例外は発生しません。)
  • 戻り値型はnullable型です。通常の型に戻したい場合は下記関連記事をご覧ください。
    [C#] null許容型の値を取得する(.Value)

関連記事

 

-共通関数
-,