読者です 読者をやめる 読者になる 読者になる

いろいろ備忘録日記

主に .NET 絡みのメモを公開しています。

カンマ付きの数値文字列を数値に変換 (int.Parse, NumberStyles.AllowThousands)

C#


ついでに、逆の変換についてもメモメモ。

カンマ付きの数値文字列を逆に数値に変換する際、そのままint.Parseしてしまうと
例外が発生します。


よくやるのは、カンマを先に空文字で置換してしまう事ですね。


以下のようにして呼ぶ事でカンマ付きの数値文字列をそのまま変換できます。

int.Parse(str, System.Globalization.NumberStyles.AllowThousands)


以下、サンプルです。

#region NumberFormatSamples-03
    public class NumberFormatSamples03 : IExecutable {

        public void Execute() {

            string s = "123,456";

            try {
                // ERROR.
                int i2 = int.Parse(s);
            } catch(FormatException ex) {
                Console.WriteLine(ex.Message);
            }

            int i3 = int.Parse(s, System.Globalization.NumberStyles.AllowThousands);
            Console.WriteLine(i3);

        }
    }
#endregion

以下、参照したリソースです。