2011-01-14 23 views
78

Potrzebuję konwertować i int na ciąg szesnastkowy.int do łańcucha szesnastkowego

podczas konwersji 1400 => 578 przy użyciu ToString("X") lub ToString("X2"), ale potrzebuję go jak 0578.

Czy ktoś może mi dostarczyć IFormatter, aby mieć długość 4 znaków?

+1

Spójrz formatów numerycznych [tutaj] (http://msdn.microsoft.com/en-us/library/dwhawy9k (VS.71) .aspx). – Ariel

Odpowiedz

125

Użyj ToString("X4").

4 oznacza, że ​​ciąg ma 4 cyfry.

Dotyczy: The Hexadecimal ("X") Format Specifier on MSDN.

+1

Nie jest dobre dla liczb ujemnych, należy użyć typu "krótkiego" zamiast "int". –

+1

Aby wydrukować int32, należy użyć "X8", a nie "X4". Jeśli chcesz X4, powinieneś upewnić się, że używasz Int16. – Nyerguds

2

Poprzednia odpowiedź nie jest odpowiednia dla liczb ujemnych. Użyj krótki typ zamiast int

 short iValue = -1400; 
     string sResult = iValue.ToString("X2"); 
     Console.WriteLine("Value={0} Result={1}", iValue, sResult); 

Teraz wynik jest FA88