2013-06-19 136 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

相關問題