将字符串值转换为十六进制十进制

时间:2012-01-05 08:29:48

标签: c# string hex decimal

我在c#中申请。在这个含义中,我有一个包含十进制值的字符串

string number="12000"; 

十六进制等效值12000是0x2EE0。

这里我想将该十六进制值分配给整数变量

int temp=0x2EE0.

请帮我转换那个号码。 提前谢谢。

5 个答案:

答案 0 :(得分:23)

string input = "Hello World!";
char[] values = input.ToCharArray();
foreach (char letter in values)
{
    // Get the integral value of the character.
    int value = Convert.ToInt32(letter);
    // Convert the decimal value to a hexadecimal value in string form.
    string hexOutput = String.Format("{0:X}", value);
    Console.WriteLine("Hexadecimal value of {0} is {1}", letter, hexOutput);
}

/* Output:
   Hexadecimal value of H is 48
    Hexadecimal value of e is 65
    Hexadecimal value of l is 6C
    Hexadecimal value of l is 6C
    Hexadecimal value of o is 6F
    Hexadecimal value of   is 20
    Hexadecimal value of W is 57
    Hexadecimal value of o is 6F
    Hexadecimal value of r is 72
    Hexadecimal value of l is 6C
    Hexadecimal value of d is 64
    Hexadecimal value of ! is 21
 */

消息来源:http://msdn.microsoft.com/en-us/library/bb311038.aspx

答案 1 :(得分:7)

int包含数字,而不是数字的表示。 12000相当于0x2ee0:

int a = 12000;
int b = 0x2ee0;
a == b

您可以使用int.Parse()将字符串“12000”转换为int。您可以使用int.ToString("X")将int格式化为十六进制。

答案 2 :(得分:5)

您可以使用String.Format类将数字转换为十六进制

int value = Convert.ToInt32(number);
string hexOutput = String.Format("{0:X}", value);

如果您想将字符串关键字转换为十六进制,则可以执行此操作

string input = "Hello World!";
char[] values = input.ToCharArray();
foreach (char letter in values)
{
    // Get the integral value of the character.
    int value = Convert.ToInt32(letter);
    // Convert the decimal value to a hexadecimal value in string form.
    string hexOutput = String.Format("{0:X}", value);
    Console.WriteLine("Hexadecimal value of {0} is {1}", letter, hexOutput);
}

答案 3 :(得分:3)

如果您想将其转换为十六进制string,可以通过

进行
string hex = (int.Parse(number)).ToString("X");

如果您只想将数字设为十六进制。这是不可能的。 Becasue计算机始终以二进制格式保存数字,因此当您执行int i = 1000时,它会在i中将1000存储为二进制。如果你把十六进制它也将是二进制。所以没有意义。

答案 4 :(得分:1)

如果它是int

,你可以尝试这样的东西
string number = "12000";
int val = int.Parse(number);
string hex = val.ToString("X");