我有这个值10732
我把这个值转换为'hexadecimal`就像这样:
string hex = string.Join(string.Empty, "10732".Select(c => ((int)c).ToString("X")));
我得到的结果是:3130373332
但是,在“程序员”模式下使用W7的计算器。当我将10732
从DECIMAL转换为HEX时,
我得到了29EC
。为什么?我怎么能用C#做到这一点?
答案 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")