Lire en anglais

Partager via


Convert.ToDecimal Méthode

Définition

Convertit une valeur spécifiée en nombre décimal.

Surcharges

ToDecimal(Single)

Convertit la valeur du nombre à virgule flottante simple précision spécifié en nombre décimal équivalent.

ToDecimal(String)

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

ToDecimal(UInt16)

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

ToDecimal(String, IFormatProvider)

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

ToDecimal(UInt64)

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

ToDecimal(Object, IFormatProvider)

Convertit la valeur de l'objet spécifié en nombre décimal équivalent à l'aide des informations de mise en forme spécifiées propres à la culture.

ToDecimal(SByte)

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

ToDecimal(UInt32)

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

ToDecimal(Object)

Convertit la valeur de l'objet spécifié en nombre décimal équivalent.

ToDecimal(Int64)

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

ToDecimal(Int32)

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

ToDecimal(Int16)

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

ToDecimal(Double)

Convertit la valeur du nombre à virgule flottante double précision spécifié en nombre décimal équivalent.

ToDecimal(Decimal)

Retourne le nombre décimal spécifié. Aucune conversion n'est effectuée.

ToDecimal(DateTime)

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

ToDecimal(Char)

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

ToDecimal(Byte)

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

ToDecimal(Boolean)

Convertit la valeur booléenne spécifiée en nombre décimal équivalent.

ToDecimal(Single)

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

Convertit la valeur du nombre à virgule flottante simple précision spécifié en nombre décimal équivalent.

public static decimal ToDecimal (float value);

Paramètres

value
Single

Nombre à virgule flottante simple précision à convertir.

Retours

Nombre décimal équivalent à value.

Exceptions

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

Exemples

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

float[] numbers = { Single.MinValue, -3e10f, -1093.54f, 0f, 1e-03f,
                    1034.23f, Single.MaxValue };
decimal result;

foreach (float number in numbers)
{
   try {
      result = Convert.ToDecimal(number);
      Console.WriteLine("Converted the Single value {0} to {1}.", number, result);
   }
   catch (OverflowException) {
      Console.WriteLine("{0} is out of range of the Decimal type.", number);
   }
}
// The example displays the following output:
//       -3.402823E+38 is out of range of the Decimal type.
//       Converted the Single value -3E+10 to -30000000000.
//       Converted the Single value -1093.54 to -1093.54.
//       Converted the Single value 0 to 0.
//       Converted the Single value 0.001 to 0.001.
//       Converted the Single value 1034.23 to 1034.23.
//       3.402823E+38 is out of range of the Decimal type.

Remarques

La Decimal valeur retournée par cette méthode contient un maximum de sept chiffres significatifs. Si le value paramètre contient plus de sept chiffres significatifs, il est arrondi à l’aide de l’arrondi au plus proche. L’exemple suivant illustre la façon dont la méthode utilise l’arrondi ToDecimal(Single) au plus proche pour retourner une Decimal valeur avec sept chiffres significatifs.

Console.WriteLine(Convert.ToDecimal(1234567500.12F));  // Displays 1234568000
Console.WriteLine(Convert.ToDecimal(1234568500.12F));  // Displays 1234568000

Console.WriteLine(Convert.ToDecimal(10.980365F));      // Displays 10.98036
Console.WriteLine(Convert.ToDecimal(10.980355F));      // Displays 10.98036

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

ToDecimal(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 nombre décimal équivalent.

public static decimal ToDecimal (string value);
public static decimal ToDecimal (string? value);

Paramètres

value
String

Chaîne contenant un nombre à convertir.

Retours

Nombre décimal qui est équivalent au nombre dans value, ou 0 (zéro) si value est null.

Exceptions

value n’est pas un nombre exprimé dans un format valide.

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

Exemples

L'exemple suivant illustre l'utilisation de ToDecimal. Il tente de convertir un StringDecimalen , et lève les exceptions possibles qui peuvent survenir pendant la conversion.

public void ConvertStringDecimal(string stringVal) {
    decimal decimalVal = 0;
    
    try {
        decimalVal = System.Convert.ToDecimal(stringVal);
        System.Console.WriteLine(
            "The string as a decimal is {0}.", decimalVal);
    }
    catch (System.OverflowException){
        System.Console.WriteLine(
            "The conversion from string to decimal overflowed.");
    }
    catch (System.FormatException) {
        System.Console.WriteLine(
            "The string is not formatted as a decimal.");
    }
    catch (System.ArgumentNullException) {
        System.Console.WriteLine(
            "The string is null.");
    }

    // Decimal to string conversion will not overflow.
    stringVal = System.Convert.ToString(decimalVal);
    System.Console.WriteLine(
        "The decimal as a string is {0}.", stringVal);
}

Remarques

L’utilisation de la ToDecimal(String) méthode équivaut à passer value à la Decimal.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 Decimal.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

ToDecimal(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 nombre décimal équivalent.

[System.CLSCompliant(false)]
public static decimal ToDecimal (ushort value);

Paramètres

value
UInt16

Entier non signé 16 bits à convertir.

Retours

Nombre décimal qui est équivalent à value.

Attributs

Exemples

L’exemple suivant convertit un tableau d’entiers non signés 16 bits en Decimal valeurs.

ushort[] numbers = { UInt16.MinValue, 121, 12345, UInt16.MaxValue };
decimal result;

foreach (ushort number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the UInt16 value {0} to {1}.",
                     number, result);
}
// The example displays the following output:
//       Converted the UInt16 value 0 to 0.
//       Converted the UInt16 value 121 to 121.
//       Converted the UInt16 value 12345 to 12345.
//       Converted the UInt16 value 65535 to 65535.

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

ToDecimal(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 nombre décimal équivalent à l'aide des informations de mise en forme spécifiées propres à la culture.

public static decimal ToDecimal (string value, IFormatProvider provider);
public static decimal ToDecimal (string? value, IFormatProvider? provider);

Paramètres

value
String

Chaîne contenant un nombre à convertir.

provider
IFormatProvider

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

Retours

Nombre décimal qui est équivalent au nombre dans value, ou 0 (zéro) si value est null.

Exceptions

value n’est pas un nombre exprimé dans un format valide.

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

Exemples

L’exemple suivant tente de convertir un tableau de chaînes en valeurs à Decimal l’aide NumberFormatInfo d’objets qui représentent deux cultures différentes.

using System;
using System.Globalization;

public class Example
{
   public static void Main()
   {
      string[] values = { "123456789", "12345.6789", "12 345,6789",
                          "123,456.789", "123 456,789", "123,456,789.0123",
                          "123 456 789,0123" };
      CultureInfo[] cultures = { new CultureInfo("en-US"),
                                 new CultureInfo("fr-FR") };

      foreach (CultureInfo culture in cultures)
      {
         Console.WriteLine("String -> Decimal Conversion Using the {0} Culture",
                           culture.Name);
         foreach (string value in values)
         {
            Console.Write("{0,20}  ->  ", value);
            try {
               Console.WriteLine(Convert.ToDecimal(value, culture));
            }
            catch (FormatException) {
               Console.WriteLine("FormatException");
            }
         }
         Console.WriteLine();
      }
   }
}
// The example displays the following output:
//       String -> Decimal Conversion Using the en-US Culture
//                  123456789  ->  123456789
//                 12345.6789  ->  12345.6789
//                12 345,6789  ->  FormatException
//                123,456.789  ->  123456.789
//                123 456,789  ->  FormatException
//           123,456,789.0123  ->  123456789.0123
//           123 456 789,0123  ->  FormatException
//
//       String -> Decimal Conversion Using the fr-FR Culture
//                  123456789  ->  123456789
//                 12345.6789  ->  FormatException
//                12 345,6789  ->  12345.6789
//                123,456.789  ->  FormatException
//                123 456,789  ->  123456.789
//           123,456,789.0123  ->  FormatException
//           123 456 789,0123  ->  123456789.0123

Remarques

La valeur de retour est le résultat de l’appel de la Decimal.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 Decimal.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

ToDecimal(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 nombre décimal équivalent.

[System.CLSCompliant(false)]
public static decimal ToDecimal (ulong value);

Paramètres

value
UInt64

Entier non signé 64 bits à convertir.

Retours

Nombre décimal équivalent à value.

Attributs

Exemples

L’exemple suivant convertit un tableau d’entiers longs non signés en Decimal valeurs.

ulong[] numbers = { UInt64.MinValue, 121, 12345, UInt64.MaxValue };
decimal result;

foreach (ulong number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the UInt64 value {0} to {1}.",
                     number, result);
}
// The example displays the following output:
//    Converted the UInt64 value 0 to 0.
//    Converted the UInt64 value 121 to 121.
//    Converted the UInt64 value 12345 to 12345.
//    Converted the UInt64 value 18446744073709551615 to 18446744073709551615.

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

ToDecimal(Object, IFormatProvider)

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

Convertit la valeur de l'objet spécifié en nombre décimal équivalent à l'aide des informations de mise en forme spécifiées propres à la culture.

public static decimal ToDecimal (object value, IFormatProvider provider);
public static decimal ToDecimal (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

Nombre décimal qui est équivalent à value, ou 0 (zéro) si value est null.

Exceptions

value n’a pas un format approprié pour un type Decimal.

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

- ou -

La conversion n’est pas prise en charge.

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

Exemples

L'exemple suivant définit une classe Temperature qui implémente l'interface IConvertible .

using System;
using System.Globalization;

public class Temperature : IConvertible
{
   private decimal m_Temp;

   public Temperature(decimal temperature)
   {
      this.m_Temp = temperature;
   }

   public decimal Celsius
   {
      get { return this.m_Temp; }
   }

   public decimal Kelvin
   {
      get { return this.m_Temp + 273.15m; }
   }

   public decimal Fahrenheit
   {
      get { return Math.Round((decimal) (this.m_Temp * 9 / 5 + 32), 2); }
   }

   public override string ToString()
   {
      return m_Temp.ToString("N2") + " °C";
   }

   // IConvertible implementations.
   public TypeCode GetTypeCode()
   {
      return TypeCode.Object;
   }

   public bool ToBoolean(IFormatProvider provider)
   {
      if (m_Temp == 0)
         return false;
      else
         return true;
   }

   public byte ToByte(IFormatProvider provider)
   {
      if (m_Temp < Byte.MinValue || m_Temp > Byte.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Byte type.",
                                                   this.m_Temp));
      else
         return Decimal.ToByte(this.m_Temp);
   }

   public char ToChar(IFormatProvider provider)
   {
      throw new InvalidCastException("Temperature to Char conversion is not supported.");
   }

   public DateTime ToDateTime(IFormatProvider provider)
   {
      throw new InvalidCastException("Temperature to DateTime conversion is not supported.");
   }

   public decimal ToDecimal(IFormatProvider provider)
   {
      return this.m_Temp;
   }

   public double ToDouble(IFormatProvider provider)
   {
      return Decimal.ToDouble(this.m_Temp);
   }

   public short ToInt16(IFormatProvider provider)
   {
      if (this.m_Temp < Int16.MinValue || this.m_Temp > Int16.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Int16 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToInt16(this.m_Temp);
   }

   public int ToInt32(IFormatProvider provider)
      {
      if (this.m_Temp < Int32.MinValue || this.m_Temp > Int32.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Int32 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToInt32(this.m_Temp);
   }

   public long ToInt64(IFormatProvider provider)
   {
      if (this.m_Temp < Int64.MinValue || this.m_Temp > Int64.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the Int64 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToInt64(this.m_Temp);
   }

   public sbyte ToSByte(IFormatProvider provider)
   {
      if (this.m_Temp < SByte.MinValue || this.m_Temp > SByte.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the SByte type.",
                                                   this.m_Temp));
      else
         return Decimal.ToSByte(this.m_Temp);
   }

   public float ToSingle(IFormatProvider provider)
   {
      return Decimal.ToSingle(this.m_Temp);
   }

   public string ToString(IFormatProvider provider)
   {
      return m_Temp.ToString("N2", provider) + " °C";
   }

   public object ToType(Type conversionType, IFormatProvider provider)
   {
      switch (Type.GetTypeCode(conversionType))
      {
         case TypeCode.Boolean:
            return this.ToBoolean(null);
         case TypeCode.Byte:
            return this.ToByte(null);
         case TypeCode.Char:
            return this.ToChar(null);
         case TypeCode.DateTime:
            return this.ToDateTime(null);
         case TypeCode.Decimal:
            return this.ToDecimal(null);
         case TypeCode.Double:
            return this.ToDouble(null);
         case TypeCode.Int16:
            return this.ToInt16(null);
         case TypeCode.Int32:
            return this.ToInt32(null);
         case TypeCode.Int64:
            return this.ToInt64(null);
         case TypeCode.Object:
            if (typeof(Temperature).Equals(conversionType))
               return this;
            else
               throw new InvalidCastException(String.Format("Conversion to a {0} is not supported.",
                                                            conversionType.Name));
         case TypeCode.SByte:
            return this.ToSByte(null);
         case TypeCode.Single:
            return this.ToSingle(null);
         case TypeCode.String:
            return this.ToString(provider);
         case TypeCode.UInt16:
            return this.ToUInt16(null);
         case TypeCode.UInt32:
            return this.ToUInt32(null);
         case TypeCode.UInt64:
            return this.ToUInt64(null);
         default:
            throw new InvalidCastException(String.Format("Conversion to {0} is not supported.", conversionType.Name));
      }
   }

   public ushort ToUInt16(IFormatProvider provider)
   {
      if (this.m_Temp < UInt16.MinValue || this.m_Temp > UInt16.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the UInt16 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToUInt16(this.m_Temp);
   }

   public uint ToUInt32(IFormatProvider provider)
   {
      if (this.m_Temp < UInt32.MinValue || this.m_Temp > UInt32.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the UInt32 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToUInt32(this.m_Temp);
   }

   public ulong ToUInt64(IFormatProvider provider)
   {
      if (this.m_Temp < UInt64.MinValue || this.m_Temp > UInt64.MaxValue)
         throw new OverflowException(String.Format("{0} is out of range of the UInt64 type.",
                                                   this.m_Temp));
      else
         return Decimal.ToUInt64(this.m_Temp);
   }
}

L’exemple suivant montre que lorsqu’un Temperature objet est passé en tant que paramètre à la ToDecimal(Object, IFormatProvider) méthode, l’implémentation IConvertible.ToDecimal de la Temperature classe est appelée pour effectuer la conversion.

public class Example
{
   public static void Main()
   {
      Temperature cold = new Temperature(-40);
      Temperature freezing = new Temperature(0);
      Temperature boiling = new Temperature(100);

      Console.WriteLine(Convert.ToDecimal(cold, null));
      Console.WriteLine(Convert.ToDecimal(freezing, null));
      Console.WriteLine(Convert.ToDecimal(boiling, null));
   }
}
// The example dosplays the following output:
//       -40
//       0
//       100

Remarques

La valeur de retour est le résultat de l’appel de la IConvertible.ToDecimal 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. 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 .

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

ToDecimal(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 nombre décimal équivalent.

[System.CLSCompliant(false)]
public static decimal ToDecimal (sbyte value);

Paramètres

value
SByte

Entier signé 8 bits à convertir.

Retours

Nombre décimal équivalent à value.

Attributs

Exemples

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

sbyte[] numbers = { SByte.MinValue, -23, 0, 17, SByte.MaxValue };
decimal result;

foreach (sbyte number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the SByte value {0} to {1}.", number, result);
}
//       Converted the SByte value -128 to -128.
//       Converted the SByte value -23 to -23.
//       Converted the SByte value 0 to 0.
//       Converted the SByte value 17 to 17.
//       Converted the SByte value 127 to 127.

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

ToDecimal(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 nombre décimal équivalent.

[System.CLSCompliant(false)]
public static decimal ToDecimal (uint value);

Paramètres

value
UInt32

Entier non signé 32 bits à convertir.

Retours

Nombre décimal équivalent à value.

Attributs

Exemples

L’exemple suivant convertit un tableau d’entiers non signés en Decimal valeurs.

uint[] numbers = { UInt32.MinValue, 121, 12345, UInt32.MaxValue };
decimal result;

foreach (uint number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the UInt32 value {0} to {1}.",
                     number, result);
}
// The example displays the following output:
//       Converted the UInt32 value 0 to 0.
//       Converted the UInt32 value 121 to 121.
//       Converted the UInt32 value 12345 to 12345.
//       Converted the UInt32 value 4294967295 to 4294967295.

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

ToDecimal(Object)

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

Convertit la valeur de l'objet spécifié en nombre décimal équivalent.

public static decimal ToDecimal (object value);
public static decimal ToDecimal (object? value);

Paramètres

value
Object

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

Retours

Nombre décimal qui est équivalent à value, ou 0 (zéro) si value est null.

Exceptions

value n’a pas un format approprié pour un type Decimal.

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

- ou -

La conversion n’est pas prise en charge.

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

Exemples

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

object[] values = { true, 'a', 123, 1.764e32, "9.78", "1e-02",
                    1.67e03, "A100", "1,033.67", DateTime.Now,
                    Double.MaxValue };
decimal result;

foreach (object value in values)
{
   try {
      result = Convert.ToDecimal(value);
      Console.WriteLine("Converted the {0} value {1} to {2}.",
                        value.GetType().Name, value, result);
   }
   catch (OverflowException) {
      Console.WriteLine("The {0} value {1} is out of range of the Decimal type.",
                        value.GetType().Name, value);
   }
   catch (FormatException) {
      Console.WriteLine("The {0} value {1} is not recognized as a valid Decimal value.",
                        value.GetType().Name, value);
   }
   catch (InvalidCastException) {
      Console.WriteLine("Conversion of the {0} value {1} to a Decimal is not supported.",
                        value.GetType().Name, value);
   }
}
// The example displays the following output:
//    Converted the Boolean value True to 1.
//    Conversion of the Char value a to a Decimal is not supported.
//    Converted the Int32 value 123 to 123.
//    The Double value 1.764E+32 is out of range of the Decimal type.
//    Converted the String value 9.78 to 9.78.
//    The String value 1e-02 is not recognized as a valid Decimal value.
//    Converted the Double value 1670 to 1670.
//    The String value A100 is not recognized as a valid Decimal value.
//    Converted the String value 1,033.67 to 1033.67.
//    Conversion of the DateTime value 10/15/2008 05:40:42 PM to a Decimal is not supported.
//    The Double value 1.79769313486232E+308 is out of range of the Decimal type.

Remarques

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

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

ToDecimal(Int64)

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

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

public static decimal ToDecimal (long value);

Paramètres

value
Int64

Entier signé 64 bits à convertir.

Retours

Nombre décimal équivalent à value.

Exemples

L’exemple suivant convertit une Int64 valeur en valeur Decimal .

public void ConvertLongDecimal(long longVal) {

    decimal	decimalVal;
    
    // Long to decimal conversion cannot overflow.
    decimalVal = System.Convert.ToDecimal(longVal);
    System.Console.WriteLine("{0} as a decimal is {1}",
            longVal, decimalVal);

    // Decimal to long conversion can overflow.
    try {
        longVal = System.Convert.ToInt64(decimalVal);
        System.Console.WriteLine("{0} as a long is {1}",
            decimalVal, longVal);
    }
    catch (System.OverflowException) {
        System.Console.WriteLine(
            "Overflow in decimal-to-long conversion.");
    }
}

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

ToDecimal(Int32)

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

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

public static decimal ToDecimal (int value);

Paramètres

value
Int32

Entier signé 32 bits à convertir.

Retours

Nombre décimal équivalent à value.

Exemples

L’exemple suivant convertit un tableau d’entiers signés en Decimal valeurs.

int[] numbers = { Int32.MinValue, -1000, 0, 1000, Int32.MaxValue };
decimal result;

foreach (int number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the Int32 value {0} to the Decimal value {1}.",
                     number, result);
}
// The example displays the following output:
//    Converted the Int32 value -2147483648 to the Decimal value -2147483648.
//    Converted the Int32 value -1000 to the Decimal value -1000.
//    Converted the Int32 value 0 to the Decimal value 0.
//    Converted the Int32 value 1000 to the Decimal value 1000.
//    Converted the Int32 value 2147483647 to the Decimal value 2147483647.

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

ToDecimal(Int16)

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

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

public static decimal ToDecimal (short value);

Paramètres

value
Int16

Entier signé 16 bits à convertir.

Retours

Nombre décimal équivalent à value.

Exemples

L’exemple suivant convertit un tableau d’entiers signés 16 bits en Decimal valeurs.

short[] numbers = { Int16.MinValue, -1000, 0, 1000, Int16.MaxValue };
decimal result;

foreach (short number in numbers)
{
   result = Convert.ToDecimal(number);
   Console.WriteLine("Converted the Int16 value {0} to the Decimal value {1}.",
                     number, result);
}
// The example displays the following output:
//       Converted the Int16 value -32768 to the Decimal value -32768.
//       Converted the Int16 value -1000 to the Decimal value -1000.
//       Converted the Int16 value 0 to the Decimal value 0.
//       Converted the Int16 value 1000 to the Decimal value 1000.
//       Converted the Int16 value 32767 to the Decimal value 32767.

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

ToDecimal(Double)

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

Convertit la valeur du nombre à virgule flottante double précision spécifié en nombre décimal équivalent.

public static decimal ToDecimal (double value);

Paramètres

value
Double

Nombre à virgule flottante double précision à convertir.

Retours

Nombre décimal équivalent à value.

Exceptions

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

Exemples

L’exemple suivant convertit une Double valeur en valeur Decimal .

public void ConvertDoubleDecimal(decimal decimalVal){
    
    double doubleVal;
    
    // Decimal to double conversion cannot overflow.
 doubleVal = System.Convert.ToDouble(decimalVal);
    System.Console.WriteLine("{0} as a double is: {1}",
            decimalVal, doubleVal);

    // Conversion from double to decimal can overflow.
    try
 {
       decimalVal = System.Convert.ToDecimal(doubleVal);
    System.Console.WriteLine ("{0} as a decimal is: {1}",
        doubleVal, decimalVal);
    }
    catch (System.OverflowException) {
        System.Console.WriteLine(
            "Overflow in double-to-double conversion.");
    }
}

Remarques

La Decimal valeur retournée par cette méthode contient un maximum de 15 chiffres significatifs. Si le value paramètre contient plus de 15 chiffres significatifs, il est arrondi à l’aide de l’arrondi au plus proche. L’exemple suivant illustre la façon dont la méthode utilise l’arrondi Convert.ToDecimal(Double) au plus proche pour retourner une Decimal valeur avec 15 chiffres significatifs.

Console.WriteLine(Convert.ToDecimal(123456789012345500.12D));  // Displays 123456789012346000
Console.WriteLine(Convert.ToDecimal(123456789012346500.12D));  // Displays 123456789012346000

Console.WriteLine(Convert.ToDecimal(10030.12345678905D));      // Displays 10030.123456789
Console.WriteLine(Convert.ToDecimal(10030.12345678915D));      // Displays 10030.1234567892

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

ToDecimal(Decimal)

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

Retourne le nombre décimal spécifié. Aucune conversion n'est effectuée.

public static decimal ToDecimal (decimal value);

Paramètres

value
Decimal

Nombre décimal.

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

ToDecimal(DateTime)

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

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

public static decimal ToDecimal (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

ToDecimal(Char)

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

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

public static decimal ToDecimal (char value);

Paramètres

value
Char

Caractère Unicode à 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.

Exemples

L’exemple suivant tente de convertir une Char valeur en Decimal, et lève InvalidCastException en cas d’échec.

public void ConvertCharDecimal(char charVal) {
    Decimal decimalVal = 0;
    
    // Char to decimal conversion is not supported and will always
    // throw an InvalidCastException.
    try {
        decimalVal = System.Convert.ToDecimal(charVal);
    }
    catch (System.InvalidCastException) {
        System.Console.WriteLine(
            "Char-to-Decimal conversion is not supported " +
            "by the .NET Framework.");
    }

    //Decimal to char conversion is also not supported.
    try {
        charVal = System.Convert.ToChar(decimalVal);
    }
    catch (System.InvalidCastException) {
        System.Console.WriteLine(
            "Decimal-to-Char conversion is not supported " +
            "by the .NET Framework.");
    }
}

Voir aussi

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

ToDecimal(Byte)

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

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

public static decimal ToDecimal (byte value);

Paramètres

value
Byte

Entier non signé 8 bits à convertir.

Retours

Nombre décimal qui est équivalent à value.

Exemples

L’exemple suivant convertit une Byte valeur en valeur Decimal .

public void ConvertByteDecimal(byte byteVal) {
    decimal decimalVal;

    // Byte to decimal conversion will not overflow.
    decimalVal = System.Convert.ToDecimal(byteVal);
    System.Console.WriteLine("The byte as a decimal is {0}.",
        decimalVal);

    // Decimal to byte conversion can overflow.
    try {
        byteVal = System.Convert.ToByte(decimalVal);
        System.Console.WriteLine("The Decimal as a byte is {0}.",
            byteVal);
    }
    catch (System.OverflowException) {
        System.Console.WriteLine(
            "The decimal value is too large for a byte.");
    }
}

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

ToDecimal(Boolean)

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

Convertit la valeur booléenne spécifiée en nombre décimal équivalent.

public static decimal ToDecimal (bool value);

Paramètres

value
Boolean

Valeur booléenne à convertir.

Retours

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

Exemples

L’exemple suivant illustre la conversion de Boolean en Decimal valeurs.

bool[] flags = { true, false };
decimal result;

foreach (bool flag in flags)
{
   result = Convert.ToDecimal(flag);
   Console.WriteLine("Converted {0} to {1}.", flag, result);
}
// The example displays the following output:
//       Converted True to 1.
//       Converted False to 0.

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