Conversione tra intero ed esadecimale [c#]

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
*/

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.