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

本文关键字:十进制 十六进制 转换 | 更新日期: 2023-09-27 18:18:58

我有这个值10732,我把这个值转换成'十六进制',像这样:

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

我得到了结果:3130373332

但是,在"程序员"模式下使用W7的计算器。当我将10732从DECIMAL转换为HEX时,
结果我得到了29EC。为什么?如何使用c#实现这一点?

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

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

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")