いろいろ備忘録日記

主に .NET とか Go とか Flutter とか Python絡みのメモを公開しています。

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


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

カンマ付きの数値文字列を逆に数値に変換する際、そのまま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

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