私のフォームにテキストボックスがあります。私はテキストボックスに文字列として "0x31"を書いて、ボタンをクリックすると、この文字列を0x31に16進数値として変換したいと考えています。C#の数値に16進数の文字列を変換します
どうすればこの文字列を16進値に変換できますか?
私のフォームにテキストボックスがあります。私はテキストボックスに文字列として "0x31"を書いて、ボタンをクリックすると、この文字列を0x31に16進数値として変換したいと考えています。C#の数値に16進数の文字列を変換します
どうすればこの文字列を16進値に変換できますか?
string hexValues = "48 65 6C 6C 6F 20 57 6F 72 6C 64 21";
string[] hexValuesSplit = hexValues.Split(' ');
foreach (String hex in hexValuesSplit)
{
// Convert the number expressed in base-16 to an integer.
int value = Convert.ToInt32(hex, 16);
// Get the character corresponding to the integral value.
string stringValue = Char.ConvertFromUtf32(value);
char charValue = (char)value;
Console.WriteLine("hexadecimal value = {0}, int value = {1}, char value = {2} or {3}",
hex, value, stringValue, charValue);
}
:文字列進値がの表現をあるhttp://msdn.microsoft.com/en-us/library/bb311038.aspx
int i = Convert.ToInt32("0x31", 16);
Console.WriteLine("0x" + i.ToString("X2"))
16進数は単なる値の表現であり、値自体ではありません。
このページであなたがC#で進を解析し、表示について知るために必要なすべてを教えてくれます
値。実際の文字列値は好きなものに変換できます(float、intなど) the conversionを実行するにはいくつかの方法があります。簡単な例:
// convert to int from base 16
int value = Convert.ToInt32(hex, 16);
まずアップクリアする:文字列は、16進形式であるあなたが値に変換するとき、それは、それは16進数ではありません、ただ数値です。
NumberStyle.HexNumber
指定子でInt32.Parse
メソッドを使用します。Hexは値の単なる表現であること
string input = "0x31";
int n;
if (input.StartsWith("0x")) {
n = Int32.Parse(input.Substring(2), NumberStyles.HexNumber);
} else {
n = Int32.Parse(input);
}
注 - ので、あなたが本当に求めていることは、あなたが文字列から値を解析する方法である - それを行いますそうですね:
int val = int.Parse("0x31", NumberStyles.HexNumber);
valに16進値0x31のintが含まれています。