将值转换为十六进制和十进制

时间:2013-06-19 12:43:03

标签: c#

我有这个值10732我把这个值转换为'hexadecimal`就像这样:

string hex = string.Join(string.Empty, "10732".Select(c => ((int)c).ToString("X")));

我得到的结果是:3130373332

但是,在“程序员”模式下使用W7的计算器。当我将10732从DECIMAL转换为HEX时,
我得到了29EC。为什么?我怎么能用C#做到这一点?

1 个答案:

答案 0 :(得分:6)

您正在将字符串中的每个字符转换为十六进制。

Char   Int value (dec)   Hex value
1      49                31
0      48                30
7      55                37
3      51                33
2      50                32

你应该直接转换int:

10732.ToString("X")

如果值是字符串,请先转换为整数:

Int.Parse("10732").ToString("X")