2011-01-14 21 views
78

Ho bisogno di convertire e int alla stringa esadecimale.int alla stringa esadecimale

durante la conversione di 1400 => 578 utilizzando ToString("X") o ToString("X2") ma ho bisogno come 0578.

Qualcuno può fornirmi il IFormatter per garantire che la stringa abbia 4 caratteri?

+1

Guarda NUMERICI formati [qui] (http://msdn.microsoft.com/en-us/library/dwhawy9k (VS.71) aspx). – Ariel

risposta

125

Utilizzare ToString("X4").

Il 4 indica che la stringa sarà lunga 4 cifre.

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

+1

Non va bene per i numeri negativi, utilizzare un tipo 'breve' invece di 'int' –

+1

Per stampare un int32, è sufficiente utilizzare "X8", non "X4". Se vuoi X4, dovresti davvero assicurarti di usare un Int16. – Nyerguds

2

La risposta precedente non è buona per i numeri negativi. Utilizzare un tipo corto, invece di int

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

Ora risultato è FA88