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.
