データ操作

[C#] カンマ区切り形式の数値文字列から数値に変換する

カンマ区切り形式の数値文字列から数値に変換するには、
.Parseメソッドに適切なNumberStylesを指定すればOKです。

サンプル

例1)カンマ区切り形式の数値文字列から数値(int)に変換する


using System.Globalization;

// int型に変換
string str = "1,234,567";
int resultInt = int.Parse(str, NumberStyles.AllowThousands);

Console.WriteLine(result);
→ 1234567

マイナス値も許可したい場合は以下のようになります。


using System.Globalization;

// int型に変換(マイナス値も許可する)
string str = "-1,234,567";
int resultInt = int.Parse(str,
  NumberStyles.AllowThousands | NumberStyles.AllowLeadingSign);

Console.WriteLine(result);
→ -1234567

例2)カンマ区切り形式の数値文字列から数値(double)に変換する


using System.Globalization;

// double型に変換
string str = "1,234,567.89";
double resultDbl = double.Parse(str,
  NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint);

Console.WriteLine(resultDbl);
→ 1234567.89

マイナス値も許可したい場合は以下のようになります。


using System.Globalization;

// double型に変換(マイナス値も許可する)
string str = "-1,234,567.89";
double resultDbl = double.Parse(str,
  NumberStyles.AllowThousands | NumberStyles.AllowDecimalPoint |
  NumberStyles.AllowLeadingSign);

Console.WriteLine(resultDbl);
→ -1234567.89

NumberStylesの種類

NumberStylesには以下のような種類があります。

種類 意味
NumberStyles.AllowThousands 数値の区切りを許可する
(一般的にはカンマ)
NumberStyles.AllowLeadingSign 先頭の符号を許可する
(+、-)
NumberStyles.AllowDecimalPoint 小数点を許可する
NumberStyles.AllowCurrencySymbol 通貨記号を許可する
NumberStyles.AllowExponent 指数表記を許可する
NumberStyles.AllowHexSpecifier 16進数表記を許可する

上記は主要なもののみです。

備考

  • 変換できない文字列が指定された時は、System.FormatException例外が発生します。
  • 共通関数化したものは、以下関連記事をご覧ください。

関連記事

-データ操作
-,