カンマ区切り形式の数値を、数値型に変換する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)
関連記事