2011-01-14 6 views
78

Мне нужно преобразовать и int в шестнадцатеричную строку.int to hex string

при преобразовании 1400 => 578 с использованием ToString("X") или ToString("X2"), но мне это нужно 0578.

Может ли кто-нибудь предоставить мне IFormatter, чтобы гарантировать, что строка имеет 4 символа?

+1

Посмотрите Числовые форматы [здесь] (http://msdn.microsoft.com/en-us/library/dwhawy9k (VS.71) .aspx). – Ariel

ответ

125

Использование ToString("X4").

4 означает, что длина строки будет 4 цифры.

Справка: The Hexadecimal ("X") Format Specifier on MSDN.

+1

Это не полезно для отрицательных чисел, используйте «короткий» тип вместо «int» –

+1

Чтобы распечатать int32, нужно просто использовать «X8», а не «X4». Если вы хотите X4, вы действительно должны обязательно использовать Int16. – Nyerguds

2

Предыдущий ответ не подходит для отрицательных чисел. Используйте короткий тип вместо Int

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

Теперь результат является FA88