[Silverlight2RTW] 16進数表記の文字列を数値に変換する
数値を表す文字列を数値に変換したい場合は、各数値型クラスのスタティックメソッド「Parse」を使用すれば良いわけですが、文字列が"FFFF"とか"F3C8"(←これにピンと来た人はおっさん)みたいに、16進数表記だった場合はどうすればいいんだろうという部分で行き詰まってしまいました。
最初は、VBのValやCInt的なノリで、int.Parse("0xFF");とかやってみたのですが、残念ながらうまくいかず、調べたところ、オーバーロードされたParseの第二引数"NumberStyles"に秘密があったようです。
いろいろなスタイルを指定できるようですが、16進数表記の文字列を変換する場合は、"NumberStyles.AllowHexSpecifier"を指定すれば良いようです。
int num = int.Parse("FF",NumberStyles.AllowHexSpecifier);
上記の例でわかる通り、文字列には16進数を表す"0x"などを付けてはいけません。
トラックバック(0)
このブログ記事を参照しているブログ一覧: [Silverlight2RTW] 16進数表記の文字列を数値に変換する
このブログ記事に対するトラックバックURL: http://ushi.donburi.net/mt/mt-tb.cgi/36



コメントする