-1

我有这个值10732,我将这个值转换为“十六进制”,如下所示:

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

我得到了结果:3130373332

但是,在“程序员”模式下使用 W7 的计算器。当我10732从 DECIMAL 转换为 HEX 时,
我得到了29EC结果。为什么 ?如何使用 C# 执行此操作?

4

1 回答 1

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")
于 2013-06-19T12:45:00.870 回答