DOBON.NET DOBON.NETプログラミング掲示板過去ログ

string "ff"を数値型の 255 に変換したい

環境/言語:[Win2k C# .NET Framework 1.1]
分類:[.NET]

いつも.NET Tipsにはお世話になっております。
趣味でVB6.0を使ってまして、最近C#の勉強を始めたところです。

早速ですが、C#にて
string型で 16進数で表現された文字列を数値型の数値に変換したいのですが、
うまい方法が思い浮かびません。


string str="ff";
int i;
str=@"0x"+str;
i = Convert.ToInt32 (str);
こんな風にしたのですが、駄目で

i=int.parse(str);
としても例外となりました。

なにか方法がありましたら教えていただきたいです。
よろしくお願いします
■No3881に返信(yukkoさんの記事)
> 早速ですが、C#にて
> string型で 16進数で表現された文字列を数値型の数値に変換したいのですが、
> うまい方法が思い浮かびません。

Convert.ToInt32でもInt32.Parseでもどちらでもできます。
ヘルプでそれぞれのメソッドのオーバーロードを調べましょう。
例えば、Convert.ToInt32のオーバーロードには基数を指定するものがあります。

こちらの場合であれば、16進数文字列の前に"0x"を付けたものも16進数と認識されます。
(当然、なくてもよいです。)
よねKENさん ありがとうございます。
いつも勉強させてもらってます

ようやく解りました。。

i = Int32.Parse(str,System.Globalization.NumberStyles.AllowHexSpecifier);

これで出来ました。
ありがとうございました。
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板