Afficher en anglais

Partage via


Convert.ToInt32 Méthode

Définition

Convertit une valeur spécifiée en entier signé 32 bits.

Surcharges

ToInt32(String)

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier signé 32 bits équivalent.

ToInt32(UInt16)

Convertit la valeur de l'entier non signé 16 bits spécifié en entier signé 32 bits équivalent.

ToInt32(UInt32)

Convertit la valeur de l'entier non signé 32 bits spécifié en entier signé 32 bits équivalent.

ToInt32(Single)

Convertit la valeur du nombre à virgule flottante simple précision spécifié en entier signé 32 bits équivalent.

ToInt32(Object, IFormatProvider)

Convertit la valeur de l'objet spécifié en entier signé 32 bits à l'aide des informations de mise en forme spécifiées propres à la culture.

ToInt32(String, IFormatProvider)

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier signé 32 bits équivalent à l'aide des informations de mise en forme spécifiées propres à la culture.

ToInt32(String, Int32)

Convertit la représentation sous forme de chaîne d'un nombre dans une base spécifiée en entier signé 32 bits équivalent.

ToInt32(UInt64)

Convertit la valeur de l'entier non signé 64 bits spécifié en entier signé 32 bits équivalent.

ToInt32(SByte)

Convertit la valeur de l'entier signé 8 bits spécifié en entier signé 32 bits équivalent.

ToInt32(Object)

Convertit la valeur de l'objet spécifié en entier signé 32 bits.

ToInt32(Int64)

Convertit la valeur de l'entier 64 bits signé spécifié en entier 32 bits signé équivalent.

ToInt32(Byte)

Convertit la valeur de l'entier non signé 8 bits spécifié en entier signé 32 bits équivalent.

ToInt32(Char)

Convertit la valeur du caractère Unicode spécifié en entier signé 32 bits équivalent.

ToInt32(DateTime)

L'appel de cette méthode lève toujours InvalidCastException.

ToInt32(Boolean)

Convertit la valeur booléenne spécifiée en entier signé 32 bits équivalent.

ToInt32(Double)

Convertit la valeur du nombre à virgule flottante double précision spécifié en entier signé 32 bits équivalent.

ToInt32(Int16)

Convertit la valeur de l'entier 16 bits signé spécifié en entier 32 bits signé équivalent.

ToInt32(Int32)

Retourne l'entier signé 32 bits spécifié. Aucune conversion n'est effectuée.

ToInt32(Decimal)

Convertit la valeur du nombre décimal spécifié en entier signé 32 bits équivalent.

ToInt32(String)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier signé 32 bits équivalent.

C#
public static int ToInt32 (string value);
C#
public static int ToInt32 (string? value);

Paramètres

value
String

Chaîne contenant le nombre à convertir.

Retours

Entier signé 32 bits équivalent au nombre dans value, ou 0 (zéro) si value est null.

Exceptions

value n’est pas constitué d’un signe facultatif suivi d’une séquence de chiffres (0 à 9).

value représente un nombre inférieur à Int32.MinValue ou supérieur à Int32.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau de chaînes numérique en entier.

C#
string[] values = { "One", "1.34e28", "-26.87", "-18", "-6.00",
                    " 0", "137", "1601.9", Int32.MaxValue.ToString() };
int result;

foreach (string value in values)
{
   try {
      result = Convert.ToInt32(value);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        value.GetType().Name, value, result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the Int32 type.", value);
   }
   catch (FormatException) {
      Console.WriteLine("The {0} value '{1}' is not in a recognizable format.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    The String value 'One' is not in a recognizable format.
//    The String value '1.34e28' is not in a recognizable format.
//    The String value '-26.87' is not in a recognizable format.
//    Converted the String value '-18' to the Int32 value -18.
//    The String value '-6.00' is not in a recognizable format.
//    Converted the String value ' 0' to the Int32 value 0.
//    Converted the String value '137' to the Int32 value 137.
//    The String value '1601.9' is not in a recognizable format.
//    Converted the String value '2147483647' to the Int32 value 2147483647.

Remarques

L’utilisation de la ToInt32(String) méthode équivaut à passer value à la Int32.Parse(String) méthode . value est interprété à l’aide des conventions de mise en forme de la culture actuelle.

Si vous préférez ne pas gérer une exception si la conversion échoue, vous pouvez appeler la méthode à la Int32.TryParse place. Elle retourne une Boolean valeur qui indique si la conversion a réussi ou échoué.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(UInt16)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier non signé 16 bits spécifié en entier signé 32 bits équivalent.

C#
[System.CLSCompliant(false)]
public static int ToInt32 (ushort value);

Paramètres

value
UInt16

Entier non signé 16 bits à convertir.

Retours

Entier signé 32 bits équivalent à value.

Attributs

Exemples

L’exemple suivant convertit chaque élément d’un tableau d’entiers non signés 16 bits en entier.

C#
ushort[] numbers = { UInt16.MinValue, 121, 340, UInt16.MaxValue };
int result;
foreach (ushort number in numbers)
{
   try {
      result = Convert.ToInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the Int32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    Converted the UInt16 value 0 to the Int32 value 0.
//    Converted the UInt16 value 121 to the Int32 value 121.
//    Converted the UInt16 value 340 to the Int32 value 340.
//    Converted the UInt16 value 65535 to the Int32 value 65535.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(UInt32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier non signé 32 bits spécifié en entier signé 32 bits équivalent.

C#
[System.CLSCompliant(false)]
public static int ToInt32 (uint value);

Paramètres

value
UInt32

Entier non signé 32 bits à convertir.

Retours

Entier signé 32 bits équivalent à value.

Attributs

Exceptions

value est supérieur à Int32.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’entiers non signés en entier signé.

C#
uint[] numbers = { UInt32.MinValue, 121, 340, UInt32.MaxValue };
int result;
foreach (uint number in numbers)
{
   try {
      result = Convert.ToInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the Int32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    Converted the UInt32 value 0 to the Int32 value 0.
//    Converted the UInt32 value 121 to the Int32 value 121.
//    Converted the UInt32 value 340 to the Int32 value 340.
//    The UInt32 value 4294967295 is outside the range of the Int32 type.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Single)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur du nombre à virgule flottante simple précision spécifié en entier signé 32 bits équivalent.

C#
public static int ToInt32 (float value);

Paramètres

value
Single

Nombre à virgule flottante simple précision à convertir.

Retours

value, arrondi à l’entier signé 32 bits le plus proche. Si value se trouve entre deux nombres entiers, le nombre pair est retourné (par exemple, 4,5 est converti en 4 et 5,5 en 6).

Exceptions

value est supérieur à Int32.MaxValue ou inférieur à Int32.MinValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau de Single valeurs en entier.

C#
float[] values= { Single.MinValue, -1.38e10f, -1023.299f, -12.98f,
                  0f, 9.113e-16f, 103.919f, 17834.191f, Single.MaxValue };
int result;

foreach (float value in values)
{
   try {
      result = Convert.ToInt32(value);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        value.GetType().Name, value, result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the Int32 type.", value);
   }
}
// The example displays the following output:
//    -3.40282346638529E+38 is outside the range of the Int32 type.
//    -13799999488 is outside the range of the Int32 type.
//    Converted the Double value -1023.29901123047 to the Int32 value -1023.
//    Converted the Double value -12.9799995422363 to the Int32 value -13.
//    Converted the Double value 0 to the Int32 value 0.
//    Converted the Double value 9.11299983940444E-16 to the Int32 value 0.
//    Converted the Double value 103.918998718262 to the Int32 value 104.
//    Converted the Double value 17834.19140625 to the Int32 value 17834.
//    3.40282346638529E+38 is outside the range of the Int32 type.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Object, IFormatProvider)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur de l'objet spécifié en entier signé 32 bits à l'aide des informations de mise en forme spécifiées propres à la culture.

C#
public static int ToInt32 (object value, IFormatProvider provider);
C#
public static int ToInt32 (object? value, IFormatProvider? provider);

Paramètres

value
Object

Objet qui implémente l'interface IConvertible.

provider
IFormatProvider

Objet qui fournit des informations de mise en forme propres à la culture.

Retours

Entier signé 32 bits équivalent à value, ou zéro si value est null.

Exceptions

value n’a pas un format approprié.

value n’implémente pas IConvertible.

value représente un nombre inférieur à Int32.MinValue ou supérieur à Int32.MaxValue.

Exemples

L’exemple suivant définit une classe qui implémente IConvertible et une classe qui implémente IFormatProvider. Les objets de la classe qui implémente IConvertible contiennent un tableau de Double valeurs. Un objet de chaque classe est passé à la ToInt32 méthode . Cette méthode retourne une moyenne du tableau de valeurs, à l’aide de Double l’objet qui implémente IFormatProvider pour déterminer comment calculer la moyenne.

C#
using System;
using System.Collections;

// Define the types of averaging available in the class
// implementing IConvertible.
public enum AverageType : short
{
    None = 0,
    GeometricMean = 1,
    ArithmeticMean = 2,
    Median = 3
};

// Pass an instance of this class to methods that require an
// IFormatProvider. The class instance determines the type of
// average to calculate.
public class AverageInfo : IFormatProvider
{
    protected AverageType AvgType;

    // Specify the type of averaging in the constructor.
    public AverageInfo( AverageType avgType )
    {
        this.AvgType = avgType;
    }

    // This method returns a reference to the containing object
    // if an object of AverageInfo type is requested.
    public object GetFormat( Type argType )
    {
        if ( argType == typeof( AverageInfo ) )
            return this;
        else
            return null;
    }

    // Use this property to set or get the type of averaging.
    public AverageType TypeOfAverage
    {
        get { return this.AvgType; }
        set { this.AvgType = value; }
    }
}

// This class encapsulates an array of double values and implements
// the IConvertible interface. Most of the IConvertible methods
// return an average of the array elements in one of three types:
// arithmetic mean, geometric mean, or median.
public class DataSet : IConvertible
{
    protected ArrayList     data;
    protected AverageInfo   defaultProvider;

    // Construct the object and add an initial list of values.
    // Create a default format provider.
    public DataSet( params double[ ] values )
    {
        data = new ArrayList( values );
        defaultProvider =
            new AverageInfo( AverageType.ArithmeticMean );
    }

    // Add additional values with this method.
    public int Add( double value )
    {
        data.Add( value );
        return data.Count;
    }

    // Get, set, and add values with this indexer property.
    public double this[ int index ]
    {
        get
        {
            if( index >= 0 && index < data.Count )
                return (double)data[ index ];
            else
                throw new InvalidOperationException(
                    "[DataSet.get] Index out of range." );
        }
        set
        {
            if( index >= 0 && index < data.Count )
                data[ index ] = value;

            else if( index == data.Count )
                data.Add( value );
            else
                throw new InvalidOperationException(
                    "[DataSet.set] Index out of range." );
        }
    }

    // This property returns the number of elements in the object.
    public int Count
    {
        get { return data.Count; }
    }

    // This method calculates the average of the object's elements.
    protected double Average( AverageType avgType )
    {
        double  SumProd;

        if( data.Count == 0 )
            return 0.0;

        switch( avgType )
        {
            case AverageType.GeometricMean:

                SumProd = 1.0;
                for( int Index = 0; Index < data.Count; Index++ )
                    SumProd *= (double)data[ Index ];

                // This calculation will not fail with negative
                // elements.
                return Math.Sign( SumProd ) * Math.Pow(
                    Math.Abs( SumProd ), 1.0 / data.Count );

            case AverageType.ArithmeticMean:

                SumProd = 0.0;
                for( int Index = 0; Index < data.Count; Index++ )
                    SumProd += (double)data[ Index ];

                return SumProd / data.Count;

            case AverageType.Median:

                if( data.Count % 2 == 0 )
                    return ( (double)data[ data.Count / 2 ] +
                        (double)data[ data.Count / 2 - 1 ] ) / 2.0;
                else
                    return (double)data[ data.Count / 2 ];

            default:
                return 0.0;
        }
    }

    // Get the AverageInfo object from the caller's format provider,
    // or use the local default.
    protected AverageInfo GetAverageInfo( IFormatProvider provider )
    {
        AverageInfo avgInfo = null;

        if( provider != null )
            avgInfo = (AverageInfo)provider.GetFormat(
                typeof( AverageInfo ) );

        if ( avgInfo == null )
            return defaultProvider;
        else
            return avgInfo;
    }

    // Calculate the average and limit the range.
    protected double CalcNLimitAverage( double min, double max,
        IFormatProvider provider )
    {
        // Get the format provider and calculate the average.
        AverageInfo avgInfo = GetAverageInfo( provider );
        double avg = Average( avgInfo.TypeOfAverage );

        // Limit the range, based on the minimum and maximum values
        // for the type.
        return avg > max ? max : avg < min ? min : avg;
    }

    // The following elements are required by IConvertible.

    // None of these conversion functions throw exceptions. When
    // the data is out of range for the type, the appropriate
    // MinValue or MaxValue is used.
    public TypeCode GetTypeCode( )
    {
        return TypeCode.Object;
    }

    public bool ToBoolean( IFormatProvider provider )
    {
        // ToBoolean is false if the dataset is empty.
        if( data.Count <= 0 )
        {
            return false;
        }

        // For median averaging, ToBoolean is true if any
        // non-discarded elements are nonzero.
        else if( AverageType.Median ==
            GetAverageInfo( provider ).TypeOfAverage )
        {
            if (data.Count % 2 == 0 )
                return ( (double)data[ data.Count / 2 ] != 0.0 ||
                    (double)data[ data.Count / 2 - 1 ] != 0.0 );
            else
                return (double)data[ data.Count / 2 ] != 0.0;
        }

        // For arithmetic or geometric mean averaging, ToBoolean is
        // true if any element of the dataset is nonzero.
        else
        {
            for( int Index = 0; Index < data.Count; Index++ )
                if( (double)data[ Index ] != 0.0 )
                    return true;
            return false;
        }
    }

    public byte ToByte( IFormatProvider provider )
    {
        return Convert.ToByte( CalcNLimitAverage(
            Byte.MinValue, Byte.MaxValue, provider ) );
    }

    public char ToChar( IFormatProvider provider )
    {
        return Convert.ToChar( Convert.ToUInt16( CalcNLimitAverage(
            Char.MinValue, Char.MaxValue, provider ) ) );
    }

    // Convert to DateTime by adding the calculated average as
    // seconds to the current date and time. A valid DateTime is
    // always returned.
    public DateTime ToDateTime( IFormatProvider provider )
    {
        double seconds =
            Average( GetAverageInfo( provider ).TypeOfAverage );
        try
        {
            return DateTime.Now.AddSeconds( seconds );
        }
        catch( ArgumentOutOfRangeException )
        {
            return seconds < 0.0 ? DateTime.MinValue : DateTime.MaxValue;
        }
    }

    public decimal ToDecimal( IFormatProvider provider )
    {
        // The Double conversion rounds Decimal.MinValue and
        // Decimal.MaxValue to invalid Decimal values, so the
        // following limits must be used.
        return Convert.ToDecimal( CalcNLimitAverage(
            -79228162514264330000000000000.0,
            79228162514264330000000000000.0, provider ) );
    }

    public double ToDouble( IFormatProvider provider )
    {
        return Average( GetAverageInfo(provider).TypeOfAverage );
    }

    public short ToInt16( IFormatProvider provider )
    {
        return Convert.ToInt16( CalcNLimitAverage(
            Int16.MinValue, Int16.MaxValue, provider ) );
    }

    public int ToInt32( IFormatProvider provider )
    {
        return Convert.ToInt32( CalcNLimitAverage(
            Int32.MinValue, Int32.MaxValue, provider ) );
    }

    public long ToInt64( IFormatProvider provider )
    {
        // The Double conversion rounds Int64.MinValue and
        // Int64.MaxValue to invalid Int64 values, so the following
        // limits must be used.
        return Convert.ToInt64( CalcNLimitAverage(
            -9223372036854775000, 9223372036854775000, provider ) );
    }

    public SByte ToSByte( IFormatProvider provider )
    {
        return Convert.ToSByte( CalcNLimitAverage(
            SByte.MinValue, SByte.MaxValue, provider ) );
    }

    public float ToSingle( IFormatProvider provider )
    {
        return Convert.ToSingle( CalcNLimitAverage(
            Single.MinValue, Single.MaxValue, provider ) );
    }

    public UInt16 ToUInt16( IFormatProvider provider )
    {
        return Convert.ToUInt16( CalcNLimitAverage(
            UInt16.MinValue, UInt16.MaxValue, provider ) );
    }

    public UInt32 ToUInt32( IFormatProvider provider )
    {
        return Convert.ToUInt32( CalcNLimitAverage(
            UInt32.MinValue, UInt32.MaxValue, provider ) );
    }

    public UInt64 ToUInt64( IFormatProvider provider )
    {
        // The Double conversion rounds UInt64.MaxValue to an invalid
        // UInt64 value, so the following limit must be used.
        return Convert.ToUInt64( CalcNLimitAverage(
            0, 18446744073709550000.0, provider ) );
    }

    public object ToType( Type conversionType,
        IFormatProvider provider )
    {
        return Convert.ChangeType( Average(
            GetAverageInfo( provider ).TypeOfAverage ),
            conversionType );
    }

    public string ToString( IFormatProvider provider )
    {
        AverageType avgType = GetAverageInfo( provider ).TypeOfAverage;
        return String.Format( "( {0}: {1:G10} )", avgType,
            Average( avgType ) );
    }
}

class IConvertibleProviderDemo
{
    // Display a DataSet with three different format providers.
    public static void DisplayDataSet( DataSet ds )
    {
        string      fmt    = "{0,-12}{1,20}{2,20}{3,20}";
        AverageInfo median = new AverageInfo( AverageType.Median );
        AverageInfo geMean =
            new AverageInfo( AverageType.GeometricMean );

         // Display the dataset elements.
        if( ds.Count > 0 )
        {
            Console.Write( "\nDataSet: [{0}", ds[ 0 ] );
            for( int iX = 1; iX < ds.Count; iX++ )
                Console.Write( ", {0}", ds[ iX ] );
            Console.WriteLine( "]\n" );
        }

        Console.WriteLine( fmt, "Convert.", "Default",
            "Geometric Mean", "Median");
        Console.WriteLine( fmt, "--------", "-------",
            "--------------", "------");
        Console.WriteLine( fmt, "ToBoolean",
            Convert.ToBoolean( ds, null ),
            Convert.ToBoolean( ds, geMean ),
            Convert.ToBoolean( ds, median ) );
        Console.WriteLine( fmt, "ToByte",
            Convert.ToByte( ds, null ),
            Convert.ToByte( ds, geMean ),
            Convert.ToByte( ds, median ) );
        Console.WriteLine( fmt, "ToChar",
            Convert.ToChar( ds, null ),
            Convert.ToChar( ds, geMean ),
            Convert.ToChar( ds, median ) );
        Console.WriteLine( "{0,-12}{1,20:yyyy-MM-dd HH:mm:ss}" +
            "{2,20:yyyy-MM-dd HH:mm:ss}{3,20:yyyy-MM-dd HH:mm:ss}",
            "ToDateTime", Convert.ToDateTime( ds, null ),
            Convert.ToDateTime( ds, geMean ),
            Convert.ToDateTime( ds, median ) );
        Console.WriteLine( fmt, "ToDecimal",
            Convert.ToDecimal( ds, null ),
            Convert.ToDecimal( ds, geMean ),
            Convert.ToDecimal( ds, median ) );
        Console.WriteLine( fmt, "ToDouble",
            Convert.ToDouble( ds, null ),
            Convert.ToDouble( ds, geMean ),
            Convert.ToDouble( ds, median ) );
        Console.WriteLine( fmt, "ToInt16",
            Convert.ToInt16( ds, null ),
            Convert.ToInt16( ds, geMean ),
            Convert.ToInt16( ds, median ) );
        Console.WriteLine( fmt, "ToInt32",
            Convert.ToInt32( ds, null ),
            Convert.ToInt32( ds, geMean ),
            Convert.ToInt32( ds, median ) );
        Console.WriteLine( fmt, "ToInt64",
            Convert.ToInt64( ds, null ),
            Convert.ToInt64( ds, geMean ),
            Convert.ToInt64( ds, median ) );
        Console.WriteLine( fmt, "ToSByte",
            Convert.ToSByte( ds, null ),
            Convert.ToSByte( ds, geMean ),
            Convert.ToSByte( ds, median ) );
        Console.WriteLine( fmt, "ToSingle",
            Convert.ToSingle( ds, null ),
            Convert.ToSingle( ds, geMean ),
            Convert.ToSingle( ds, median ) );
        Console.WriteLine( fmt, "ToUInt16",
            Convert.ToUInt16( ds, null ),
            Convert.ToUInt16( ds, geMean ),
            Convert.ToUInt16( ds, median ) );
        Console.WriteLine( fmt, "ToUInt32",
            Convert.ToUInt32( ds, null ),
            Convert.ToUInt32( ds, geMean ),
            Convert.ToUInt32( ds, median ) );
        Console.WriteLine( fmt, "ToUInt64",
            Convert.ToUInt64( ds, null ),
            Convert.ToUInt64( ds, geMean ),
            Convert.ToUInt64( ds, median ) );
    }

    public static void Main( )
    {
        Console.WriteLine( "This example of " +
            "the Convert.To<Type>( object, IFormatProvider ) methods " +
            "\ngenerates the following output. The example " +
            "displays the values \nreturned by the methods, " +
            "using several IFormatProvider objects.\n" );

        DataSet ds1 = new DataSet(
            10.5, 22.2, 45.9, 88.7, 156.05, 297.6 );
        DisplayDataSet( ds1 );

        DataSet ds2 = new DataSet(
            359999.95, 425000, 499999.5, 775000, 1695000 );
        DisplayDataSet( ds2 );
    }
}

/*
This example of the Convert.To<Type>( object, IFormatProvider ) methods
generates the following output. The example displays the values
returned by the methods, using several IFormatProvider objects.

DataSet: [10.5, 22.2, 45.9, 88.7, 156.05, 297.6]

Convert.                 Default      Geometric Mean              Median
--------                 -------      --------------              ------
ToBoolean                   True                True                True
ToByte                       103                  59                  67
ToChar                         g                   ;                   C
ToDateTime   2003-05-13 15:04:12 2003-05-13 15:03:28 2003-05-13 15:03:35
ToDecimal       103.491666666667    59.4332135445164                67.3
ToDouble        103.491666666667    59.4332135445164                67.3
ToInt16                      103                  59                  67
ToInt32                      103                  59                  67
ToInt64                      103                  59                  67
ToSByte                      103                  59                  67
ToSingle                103.4917            59.43321                67.3
ToUInt16                     103                  59                  67
ToUInt32                     103                  59                  67
ToUInt64                     103                  59                  67

DataSet: [359999.95, 425000, 499999.5, 775000, 1695000]

Convert.                 Default      Geometric Mean              Median
--------                 -------      --------------              ------
ToBoolean                   True                True                True
ToByte                       255                 255                 255
ToChar                         ?                   ?                   ?
ToDateTime   2003-05-22 07:39:08 2003-05-20 22:28:45 2003-05-19 09:55:48
ToDecimal              750999.89    631577.237188435            499999.5
ToDouble               750999.89    631577.237188435            499999.5
ToInt16                    32767               32767               32767
ToInt32                   751000              631577              500000
ToInt64                   751000              631577              500000
ToSByte                      127                 127                 127
ToSingle                750999.9            631577.3            499999.5
ToUInt16                   65535               65535               65535
ToUInt32                  751000              631577              500000
ToUInt64                  751000              631577              500000
*/

Remarques

La valeur de retour est le résultat de l’appel de la IConvertible.ToInt32 méthode du type sous-jacent de value.

provider permet à l’utilisateur de spécifier des informations de conversion spécifiques à la culture sur le contenu de value. Par exemple, si value est un String qui représente un nombre, provider peut fournir des informations spécifiques à la culture sur la notation utilisée pour représenter ce nombre.

Les types de base ignorent provider; toutefois, le paramètre peut être utilisé si value est un type défini par l’utilisateur qui implémente l’interface IConvertible .

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(String, IFormatProvider)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la représentation sous forme de chaîne spécifiée d'un nombre en entier signé 32 bits équivalent à l'aide des informations de mise en forme spécifiées propres à la culture.

C#
public static int ToInt32 (string value, IFormatProvider provider);
C#
public static int ToInt32 (string? value, IFormatProvider? provider);

Paramètres

value
String

Chaîne contenant le nombre à convertir.

provider
IFormatProvider

Objet qui fournit des informations de mise en forme propres à la culture.

Retours

Entier signé 32 bits équivalent au nombre dans value, ou 0 (zéro) si value est null.

Exceptions

value n’est pas constitué d’un signe facultatif suivi d’une séquence de chiffres (0 à 9).

value représente un nombre inférieur à Int32.MinValue ou supérieur à Int32.MaxValue.

Exemples

L’exemple suivant définit un objet personnalisé NumberFormatInfo qui reconnaît la chaîne « pos » comme signe positif et la chaîne « neg » comme signe négatif. Il tente ensuite de convertir chaque élément d’un tableau de chaînes numériques en entier à l’aide de ce fournisseur et du NumberFormatInfo fournisseur pour la culture invariante.

C#
using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      // Create a custom NumberFormatInfo object and set its two properties
      // used by default in parsing numeric strings.
      NumberFormatInfo customProvider = new NumberFormatInfo();
      customProvider.NegativeSign = "neg ";
      customProvider.PositiveSign = "pos ";

      // Add custom and invariant provider to an array of providers.
      NumberFormatInfo[] providers = { customProvider, NumberFormatInfo.InvariantInfo };

      // Define an array of strings to convert.
      string[] numericStrings = { "123456789", "+123456789", "pos 123456789",
                                  "-123456789", "neg 123456789", "123456789.",
                                  "123,456,789", "(123456789)", "2147483648",
                                  "-2147483649" };

      // Use each provider to parse all the numeric strings.
      for (int ctr = 0; ctr <= 1; ctr++)
      {
         IFormatProvider provider = providers[ctr];
         Console.WriteLine(ctr == 0 ? "Custom Provider:" : "Invariant Provider:");
         foreach (string numericString in numericStrings)
         {
            Console.Write("{0,15}  --> ", numericString);
            try {
               Console.WriteLine("{0,20}", Convert.ToInt32(numericString, provider));
            }
            catch (FormatException) {
               Console.WriteLine("{0,20}", "FormatException");
            }
            catch (OverflowException) {
               Console.WriteLine("{0,20}", "OverflowException");
            }
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       Custom Provider:
//             123456789  -->            123456789
//            +123456789  -->      FormatException
//         pos 123456789  -->            123456789
//            -123456789  -->      FormatException
//         neg 123456789  -->           -123456789
//            123456789.  -->      FormatException
//           123,456,789  -->      FormatException
//           (123456789)  -->      FormatException
//            2147483648  -->    OverflowException
//           -2147483649  -->      FormatException
//
//       Invariant Provider:
//             123456789  -->            123456789
//            +123456789  -->            123456789
//         pos 123456789  -->      FormatException
//            -123456789  -->           -123456789
//         neg 123456789  -->      FormatException
//            123456789.  -->      FormatException
//           123,456,789  -->      FormatException
//           (123456789)  -->      FormatException
//            2147483648  -->    OverflowException
//           -2147483649  -->    OverflowException

Remarques

La valeur de retour est le résultat de l’appel de la Int32.Parse méthode sur value.

providerest un IFormatProvider instance qui obtient un NumberFormatInfo objet . L’objet NumberFormatInfo fournit des informations spécifiques à la culture sur le format de value. Si provider a la valeur null, le NumberFormatInfo pour la culture actuelle est utilisé.

Si vous préférez ne pas gérer une exception si la conversion échoue, vous pouvez appeler la méthode à la Int32.TryParse place. Elle retourne une Boolean valeur qui indique si la conversion a réussi ou échoué.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(String, Int32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la représentation sous forme de chaîne d'un nombre dans une base spécifiée en entier signé 32 bits équivalent.

C#
public static int ToInt32 (string value, int fromBase);
C#
public static int ToInt32 (string? value, int fromBase);

Paramètres

value
String

Chaîne contenant le nombre à convertir.

fromBase
Int32

Base du nombre figurant dans value, qui doit correspondre à 2, 8, 10 ou 16.

Retours

Entier signé 32 bits équivalent au nombre dans value, ou 0 (zéro) si value est null.

Exceptions

fromBase n’a pas la valeur 2, 8, 10 ou 16.

- ou -

value, qui représente un nombre signé autre qu’en base 10, est préfixé avec un signe négatif.

value a la valeur Empty.

value contient un caractère qui n’est pas un chiffre valide dans la base spécifiée par fromBase. Le message d’exception indique qu’il n’y a pas de chiffres à convertir si le premier caractère dans value n’est pas valide ; sinon, le message indique que value contient des caractères de fin non valides.

value, qui représente un nombre signé autre qu’en base 10, est préfixé avec un signe négatif.

- ou -

value représente un nombre inférieur à Int32.MinValue ou supérieur à Int32.MaxValue.

Remarques

Si fromBase a la valeur 16, vous pouvez préfixer le nombre spécifié par le value paramètre avec « 0x » ou « 0X ».

Étant donné que le signe négatif n’est pas pris en charge pour les représentations numériques non en base 10, la ToInt32(String, Int32) méthode suppose que les nombres négatifs utilisent la représentation complémentaire de deux. En d’autres termes, la méthode interprète toujours le bit binaire d’ordre le plus élevé d’un entier (bit 31) comme son bit de signe. Par conséquent, il est possible d’écrire du code dans lequel un nombre non en base 10 qui est hors de la plage du type de Int32 données est converti en valeur Int32 sans que la méthode lève une exception. L’exemple suivant incrémente Int32.MaxValue d’un, convertit le nombre résultant en sa représentation sous forme de chaîne hexadécimale, puis appelle la ToInt32(String, Int32) méthode . Au lieu de lever une exception, la méthode affiche le message « 0x80000000 convertit en -2147483648 ».

C#
// Create a hexadecimal value out of range of the Integer type.
string value = Convert.ToString((long) int.MaxValue + 1, 16);
// Convert it back to a number.
try
{
   int number = Convert.ToInt32(value, 16);
   Console.WriteLine("0x{0} converts to {1}.", value, number.ToString());
}
catch (OverflowException)
{
   Console.WriteLine("Unable to convert '0x{0}' to an integer.", value);
}

Lors de l’exécution d’opérations binaires ou de conversions numériques, il incombe toujours au développeur de vérifier qu’une méthode utilise la représentation numérique appropriée pour interpréter une valeur particulière. Comme l’illustre l’exemple suivant, vous pouvez vous assurer que la méthode gère correctement les dépassements de capacité en récupérant d’abord le signe de la valeur numérique avant de le convertir en sa représentation sous forme de chaîne hexadécimale. Lève une exception si la valeur d’origine était positive, mais que la conversion en entier génère une valeur négative.

C#
// Create a hexadecimal value out of range of the Integer type.
long sourceNumber = (long) int.MaxValue + 1;
bool isNegative = Math.Sign(sourceNumber) == -1;
string value = Convert.ToString(sourceNumber, 16);
int targetNumber;
try
{
   targetNumber = Convert.ToInt32(value, 16);
   if (!(isNegative) & (targetNumber & 0x80000000) != 0)
      throw new OverflowException();
   else
      Console.WriteLine("0x{0} converts to {1}.", value, targetNumber);
}
catch (OverflowException)
{
   Console.WriteLine("Unable to convert '0x{0}' to an integer.", value);
}
// Displays the following to the console:
//    Unable to convert '0x80000000' to an integer.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(UInt64)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier non signé 64 bits spécifié en entier signé 32 bits équivalent.

C#
[System.CLSCompliant(false)]
public static int ToInt32 (ulong value);

Paramètres

value
UInt64

Entier non signé 64 bits à convertir.

Retours

Entier signé 32 bits équivalent à value.

Attributs

Exceptions

value est supérieur à Int32.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’entiers longs non signés en entier signé.

C#
ulong[] numbers = { UInt64.MinValue, 121, 340, UInt64.MaxValue };
int result;
foreach (ulong number in numbers)
{
   try {
      result = Convert.ToInt32(number);
      Console.WriteLine("Converted the {0} value {1} to a {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the Int32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    Converted the UInt64 value 0 to a Int32 value 0.
//    Converted the UInt64 value 121 to a Int32 value 121.
//    Converted the UInt64 value 340 to a Int32 value 340.
//    The UInt64 value 18446744073709551615 is outside the range of the Int32 type.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(SByte)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Important

Cette API n’est pas conforme CLS.

Convertit la valeur de l'entier signé 8 bits spécifié en entier signé 32 bits équivalent.

C#
[System.CLSCompliant(false)]
public static int ToInt32 (sbyte value);

Paramètres

value
SByte

Entier signé 8 bits à convertir.

Retours

Entier signé 8 bits équivalent à value.

Attributs

Exemples

L’exemple suivant convertit chaque élément d’un tableau d’octets signés en entier.

C#
sbyte[] numbers = { SByte.MinValue, -1, 0, 10, SByte.MaxValue };
int result;

foreach (sbyte number in numbers)
{
   result = Convert.ToInt32(number);
   Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                     number.GetType().Name, number,
                     result.GetType().Name, result);
}
// The example displays the following output:
//       Converted the SByte value -128 to the Int32 value -128.
//       Converted the SByte value -1 to the Int32 value -1.
//       Converted the SByte value 0 to the Int32 value 0.
//       Converted the SByte value 10 to the Int32 value 10.
//       Converted the SByte value 127 to the Int32 value 127.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Object)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur de l'objet spécifié en entier signé 32 bits.

C#
public static int ToInt32 (object value);
C#
public static int ToInt32 (object? value);

Paramètres

value
Object

Objet qui implémente l'interface IConvertible ou null.

Retours

Entier signé 32 bits équivalent à value, ou zéro si value est null.

Exceptions

value n’a pas un format approprié.

value n’implémente pas l’interface IConvertible .

- ou -

La conversion n’est pas prise en charge.

value représente un nombre inférieur à Int32.MinValue ou supérieur à Int32.MaxValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’objets en entier.

C#
object[] values = { true, -12, 163, 935, 'x', new DateTime(2009, 5, 12),
                    "104", "103.0", "-1",
                    "1.00e2", "One", 1.00e2, 16.3e42};
int result;

foreach (object value in values)
{
   try {
      result = Convert.ToInt32(value);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        value.GetType().Name, value,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the Int32 type.",
                        value.GetType().Name, value);
   }
   catch (FormatException) {
      Console.WriteLine("The {0} value {1} is not in a recognizable format.",
                        value.GetType().Name, value);
   }
   catch (InvalidCastException) {
      Console.WriteLine("No conversion to an Int32 exists for the {0} value {1}.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    Converted the Boolean value True to the Int32 value 1.
//    Converted the Int32 value -12 to the Int32 value -12.
//    Converted the Int32 value 163 to the Int32 value 163.
//    Converted the Int32 value 935 to the Int32 value 935.
//    Converted the Char value x to the Int32 value 120.
//    No conversion to an Int32 exists for the DateTime value 5/12/2009 12:00:00 AM.
//    Converted the String value 104 to the Int32 value 104.
//    The String value 103.0 is not in a recognizable format.
//    Converted the String value -1 to the Int32 value -1.
//    The String value 1.00e2 is not in a recognizable format.
//    The String value One is not in a recognizable format.
//    Converted the Double value 100 to the Int32 value 100.
//    The Double value 1.63E+43 is outside the range of the Int32 type.

Remarques

Sivalue n’est pas null, cette méthode encapsule un appel à l’implémentation IConvertible.ToInt32 du type sous-jacent de value.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Int64)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur de l'entier 64 bits signé spécifié en entier 32 bits signé équivalent.

C#
public static int ToInt32 (long value);

Paramètres

value
Int64

Entier signé 64 bits à convertir.

Retours

Entier signé 32 bits équivalent à value.

Exceptions

value est supérieur à Int32.MaxValue ou inférieur à Int32.MinValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau d’entiers longs en entiers.

C#
long[] numbers = { Int64.MinValue, -1, 0, 121, 340, Int64.MaxValue };
int result;
foreach (long number in numbers)
{
   try {
      result = Convert.ToInt32(number);
      Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is outside the range of the Int32 type.",
                        number.GetType().Name, number);
   }
}
// The example displays the following output:
//    The Int64 value -9223372036854775808 is outside the range of the Int32 type.
//    Converted the Int64 value -1 to the Int32 value -1.
//    Converted the Int64 value 0 to the Int32 value 0.
//    Converted the Int64 value 121 to the Int32 value 121.
//    Converted the Int64 value 340 to the Int32 value 340.
//    The Int64 value 9223372036854775807 is outside the range of the Int32 type.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Byte)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur de l'entier non signé 8 bits spécifié en entier signé 32 bits équivalent.

C#
public static int ToInt32 (byte value);

Paramètres

value
Byte

Entier non signé 8 bits à convertir.

Retours

Entier signé 32 bits équivalent à value.

Exemples

L’exemple suivant convertit chaque élément d’un tableau d’octets en entier.

C#
byte[] bytes = { Byte.MinValue, 14, 122, Byte.MaxValue};
int result;

foreach (byte byteValue in bytes)
{
   result = Convert.ToInt32(byteValue);
   Console.WriteLine("Converted the {0} value {1} to the {2} value {3}.",
                     byteValue.GetType().Name, byteValue,
                     result.GetType().Name, result);
}
// The example displays the following output:
//       Converted the Byte value 0 to the Int32 value 0.
//       Converted the Byte value 14 to the Int32 value 14.
//       Converted the Byte value 122 to the Int32 value 122.
//       Converted the Byte value 255 to the Int32 value 255.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Char)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur du caractère Unicode spécifié en entier signé 32 bits équivalent.

C#
public static int ToInt32 (char value);

Paramètres

value
Char

Caractère Unicode à convertir.

Retours

Entier signé 32 bits équivalent à value.

Exemples

L’exemple suivant convertit chaque élément d’un tableau de Char valeurs en entier.

C#
char[] chars = { 'a', 'z', '\u0007', '\u03FF',
                 '\u7FFF', '\uFFFE' };
int result;

foreach (char ch in chars)
{
   try {
      result = Convert.ToInt32(ch);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        ch.GetType().Name, ch,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("Unable to convert u+{0} to an Int32.",
                        ((int)ch).ToString("X4"));
   }
}
// The example displays the following output:
//       Converted the Char value 'a' to the Int32 value 97.
//       Converted the Char value 'z' to the Int32 value 122.
//       Converted the Char value '' to the Int32 value 7.
//       Converted the Char value 'Ͽ' to the Int32 value 1023.
//       Converted the Char value '翿' to the Int32 value 32767.
//       Converted the Char value '' to the Int32 value 65534.

Remarques

La ToInt32(Char) méthode retourne un entier signé 32 bits qui représente l’unité de code encodée en UTF-16 de l’argument value . Si value n’est pas un substitut faible ou un substitut élevé, cette valeur de retour représente également le point de code Unicode de la valeur.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(DateTime)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

L'appel de cette méthode lève toujours InvalidCastException.

C#
public static int ToInt32 (DateTime value);

Paramètres

value
DateTime

Valeur de date et heure à convertir.

Retours

Cette conversion n'est pas prise en charge. Aucune valeur n’est retournée.

Exceptions

Cette conversion n'est pas prise en charge.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1

ToInt32(Boolean)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur booléenne spécifiée en entier signé 32 bits équivalent.

C#
public static int ToInt32 (bool value);

Paramètres

value
Boolean

Valeur booléenne à convertir.

Retours

Chiffre 1, si value est true ; sinon, 0.

Exemples

L’exemple suivant convertit les Boolean valeurs true et false en entiers.

C#
bool falseFlag = false;
bool trueFlag = true;

Console.WriteLine("{0} converts to {1}.", falseFlag,
                  Convert.ToInt32(falseFlag));
Console.WriteLine("{0} converts to {1}.", trueFlag,
                  Convert.ToInt32(trueFlag));
// The example displays the following output:
//       False converts to 0.
//       True converts to 1.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Double)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur du nombre à virgule flottante double précision spécifié en entier signé 32 bits équivalent.

C#
public static int ToInt32 (double value);

Paramètres

value
Double

Nombre à virgule flottante double précision à convertir.

Retours

value, arrondi à l’entier signé 32 bits le plus proche. Si value se trouve entre deux nombres entiers, le nombre pair est retourné (par exemple, 4,5 est converti en 4 et 5,5 en 6).

Exceptions

value est supérieur à Int32.MaxValue ou inférieur à Int32.MinValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau de Double valeurs en entier.

C#
double[] values= { Double.MinValue, -1.38e10, -1023.299, -12.98,
                   0, 9.113e-16, 103.919, 17834.191, Double.MaxValue };
int result;

foreach (double value in values)
{
   try {
      result = Convert.ToInt32(value);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        value.GetType().Name, value,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the Int32 type.", value);
   }
}
//    -1.79769313486232E+308 is outside the range of the Int32 type.
//    -13800000000 is outside the range of the Int32 type.
//    Converted the Double value '-1023.299' to the Int32 value -1023.
//    Converted the Double value '-12.98' to the Int32 value -13.
//    Converted the Double value '0' to the Int32 value 0.
//    Converted the Double value '9.113E-16' to the Int32 value 0.
//    Converted the Double value '103.919' to the Int32 value 104.
//    Converted the Double value '17834.191' to the Int32 value 17834.
//    1.79769313486232E+308 is outside the range of the Int32 type.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Int16)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur de l'entier 16 bits signé spécifié en entier 32 bits signé équivalent.

C#
public static int ToInt32 (short value);

Paramètres

value
Int16

Entier signé 16 bits à convertir.

Retours

Entier signé 32 bits équivalent à value.

Exemples

L’exemple suivant convertit chaque élément d’un tableau d’entiers signés 16 bits en entier.

C#
short[] numbers= { Int16.MinValue, -1, 0, 121, 340, Int16.MaxValue };
int result;

foreach (short number in numbers)
{
   result = Convert.ToInt32(number);
   Console.WriteLine("Converted the {0} value {1} to a {2} value {3}.",
                        number.GetType().Name, number,
                        result.GetType().Name, result);
}
// The example displays the following output:
//    Converted the Int16 value -32768 to a Int32 value -32768.
//    Converted the Int16 value -1 to a Int32 value -1.
//    Converted the Int16 value 0 to a Int32 value 0.
//    Converted the Int16 value 121 to a Int32 value 121.
//    Converted the Int16 value 340 to a Int32 value 340.
//    Converted the Int16 value 32767 to a Int32 value 32767.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Int32)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Retourne l'entier signé 32 bits spécifié. Aucune conversion n'est effectuée.

C#
public static int ToInt32 (int value);

Paramètres

value
Int32

Entier signé 32 bits à retourner.

Retours

value est retourné sans modification.

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

ToInt32(Decimal)

Source:
Convert.cs
Source:
Convert.cs
Source:
Convert.cs

Convertit la valeur du nombre décimal spécifié en entier signé 32 bits équivalent.

C#
public static int ToInt32 (decimal value);

Paramètres

value
Decimal

Nombre décimal à convertir.

Retours

value, arrondi à l’entier signé 32 bits le plus proche. Si value se trouve entre deux nombres entiers, le nombre pair est retourné (par exemple, 4,5 est converti en 4 et 5,5 en 6).

Exceptions

value est supérieur à Int32.MaxValue ou inférieur à Int32.MinValue.

Exemples

L’exemple suivant tente de convertir chaque élément d’un tableau de Decimal valeurs en entier.

C#
decimal[] values= { Decimal.MinValue, -1034.23m, -12m, 0m, 147m,
                    199.55m, 9214.16m, Decimal.MaxValue };
int result;

foreach (decimal value in values)
{
   try {
      result = Convert.ToInt32(value);
      Console.WriteLine("Converted the {0} value '{1}' to the {2} value {3}.",
                        value.GetType().Name, value,
                        result.GetType().Name, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is outside the range of the Int32 type.",
                        value);
   }
}
// The example displays the following output:
//    -79228162514264337593543950335 is outside the range of the Int32 type.
//    Converted the Decimal value '-1034.23' to the Int32 value -1034.
//    Converted the Decimal value '-12' to the Int32 value -12.
//    Converted the Decimal value '0' to the Int32 value 0.
//    Converted the Decimal value '147' to the Int32 value 147.
//    Converted the Decimal value '199.55' to the Int32 value 200.
//    Converted the Decimal value '9214.16' to the Int32 value 9214.
//    79228162514264337593543950335 is outside the range of the Int32 type.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0