2013-06-19 100 views
-2

我有这个价值10732我转换这个值'hexadecimal`这样的:的值转换为十六进制和十进制

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

而且我得到的结果是:3130373332

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

+1

有转换之间存在相当大的差异将一个int字符串转换为十六进制。 C#为字符串,为int的计算器。你想要哪一个 ? – C4stor

+1

重复[C#将整数转换为十六进制并返回](http://stackoverflow.com/questions/1139957/c-sharp-convert-integer-to-hex-and-back-again) – Paritosh

+1

您正在转换数字数字。这不是你如何将INT转换为十六进制 –

回答

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

+1对于OP来说,清晰度字符串 - > int - > hex将简单地为'(int.Parse(“10732”))。ToString(“X”);' – NominSim

+0

+1感谢您的解释。 – PlayHardGoPro

+0

Oded,有没有办法做到这一点与双打?就像,如果我想获得R $'107.32'的int值? – PlayHardGoPro

相关问题