In questo post vediamo le varie modalità con cui si può convertire un valore numerico intero nel corrispondente esadecimale in c#.
Convertire un Intero in un Esadecimale in c#
Metodo Convert.ToString
Il primo metodo è quello di usare il metodo integrato Convert.ToString specificando il valore da convertire e la base da utilizzare.
Di seguito un esempio :
using System; public class Example { public static void Main() { int value = 1000; int toBase = 16; string hex = Convert.ToString(value, toBase); Console.WriteLine(hex); } } /* Output: 3e8 */
Metodo Int32.ToString
Il metodo successivo è quello di usare il metodo ToString in questo caso della classe Int32 (ma presente quasi tutti i tipi) specificando il formato da utilizzare.
Nel nostro caso dovremo usare l’identificatore di formato numerico standard esadecimale “X” o “x”.
Di seguito un esempio :
using System; public class Example { public static void Main() { int value = 1000; string specifier = "X"; string hex = value.ToString(specifier); Console.WriteLine(hex); } } /* Output: 3E8 */
Metodo String.Format
Un ulteriore metodo sfrutta la classe String e precisamente il metodo Format.
using System; public class Example { public static void Main() { int num = 1000; string hex = String.Format("{0:X}", num); Console.WriteLine(hex); } } /* Output: 3E8 */
Convertire un esadecimale in un numero Intero in c#
I metodi usati sono gli analoghi dei precedenti richiamati con gli opportuni parametri.
Metodo Int32.Parse
using System; public class Example { public static void Main() { string hex = "3E8"; int value = Int32.Parse(hex, System.Globalization.NumberStyles.HexNumber); Console.WriteLine(value); } } /* Output: 1000 */
Metodo Convert.ToInt32
using System; public class Example { public static void Main() { string hex = "3E8"; int value = Convert.ToInt32(hex, 16); Console.WriteLine(value); } } /* Output: 1000 */
Sono laureato in Ingegneria Informatica presso l’Univertità degli Studi di Lecce (2008).
Attualmente mi occupo di Sviluppo C#.Net / Mono in ambiente Linux
Sviluppo da anni applicativi ANSI C per terminali POS basati su processori ARM Risc 32Bit con 2-4 MB di Ram.