Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. |
Traduction
Source
|
Decimal, structure
Représente un nombre décimal.
Assembly : mscorlib (dans mscorlib.dll)
Le type Decimal expose les membres suivants.
| Nom | Description | |
|---|---|---|
|
Decimal(Double) | Initialise une nouvelle instance de Decimal avec la valeur du nombre à virgule flottante double précision spécifié. |
|
Decimal(Int32) | Initialise une nouvelle instance de Decimal avec la valeur de l'entier signé 32 bits spécifié. |
|
Decimal(Int32[]) | Initialise une nouvelle instance de Decimal avec une valeur décimale représentée au format binaire qui figure dans un tableau spécifié. |
|
Decimal(Int64) | Initialise une nouvelle instance de Decimal avec la valeur de l'entier signé 64 bits spécifié. |
|
Decimal(Single) | Initialise une nouvelle instance de Decimal avec la valeur du nombre à virgule flottante simple précision spécifié. |
|
Decimal(UInt32) | Initialise une nouvelle instance de Decimal avec la valeur de l'entier non signé 32 bits spécifié. |
|
Decimal(UInt64) | Initialise une nouvelle instance de Decimal avec la valeur de l'entier non signé 64 bits spécifié. |
|
Decimal(Int32, Int32, Int32, Boolean, Byte) | Initialise une nouvelle instance de Decimal à partir de paramètres spécifiant les parties qui constituent l'instance. |
| Nom | Description | |
|---|---|---|
|
Add | Ajoute deux valeurs Decimal spécifiées. |
|
Ceiling | Retourne la plus petite valeur intégrale qui est supérieure ou égale au nombre décimal spécifié. |
|
Compare | Compare deux valeurs Decimal spécifiées. |
|
CompareTo(Decimal) | Compare cette instance à un objet Decimal spécifié. |
|
CompareTo(Object) | Compare cette instance à un Object spécifié. |
|
Divide | Divise deux valeurs Decimal spécifiées. |
|
Equals(Decimal) | Retourne une valeur indiquant si cette instance et un objet Decimal spécifié représentent la même valeur. |
|
Equals(Object) | Retourne une valeur indiquant si cette instance et un Object spécifié représentent le même type et la même valeur. (Substitue ValueType.Equals(Object).) |
|
Equals(Decimal, Decimal) | Retourne une valeur indiquant si deux instances spécifiées de Decimal représentent la même valeur. |
|
Finalize | Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de netto***ge avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.) |
|
Floor | Arrondit un nombre Decimal spécifié à l'entier le plus proche de moins l'infini. |
|
FromOACurrency | Convertit l'entier signé 64 bits spécifié contenant une valeur monétaire OLE Automation Currency en valeur Decimal équivalente. |
|
GetBits | Convertit la valeur d'une instance de Decimal spécifiée en représentation binaire équivalente. |
|
GetHashCode | Retourne le code de hachage pour cette instance. (Substitue ValueType.GetHashCode().) |
|
GetType | Obtient le Type de l'instance actuelle. (Hérité de Object.) |
|
GetTypeCode | Retourne le TypeCode du type valeur Decimal. |
|
MemberwiseClone | Crée une copie superficielle de l'objet Object actif. (Hérité de Object.) |
|
Multiply | Multiplie deux valeurs Decimal spécifiées. |
|
Negate | Retourne le résultat de la multiplication de la valeur Decimal spécifiée par 1 négatif. |
|
Parse(String) | Convertit la représentation sous forme de chaîne d'un nombre en sa représentation Decimal équivalente. |
|
Parse(String, NumberStyles) | Convertit la représentation d'un nombre sous forme de chaîne dans un style spécifié en Decimal équivalent. |
|
Parse(String, IFormatProvider) | Convertit la représentation sous forme de chaîne d'un nombre en son équivalent Decimal à l'aide des informations de format propres à la culture spécifiée. |
|
Parse(String, NumberStyles, IFormatProvider) | Convertit la représentation sous forme de chaîne d'un nombre en son équivalent Decimal à l'aide du style et du format spécifique à la culture spécifiés. |
|
Remainder | Calcule le reste de la division de deux valeurs Decimal. |
|
Round(Decimal) | Arrondit une valeur décimale à l'entier le plus proche. |
|
Round(Decimal, Int32) | Arrondit une valeur Decimal au nombre de décimales spécifié. |
|
Round(Decimal, MidpointRounding) | Arrondit une valeur décimale à l'entier le plus proche. Un paramètre spécifie comment arrondir une valeur qui se trouve à mi-chemin entre deux nombres. |
|
Round(Decimal, Int32, MidpointRounding) | Arrondit une valeur décimale à la précision spécifiée. Un paramètre spécifie comment arrondir une valeur qui se trouve à mi-chemin entre deux nombres. |
|
Subtract | Soustrait une valeur Decimal spécifiée d'une autre. |
|
ToByte | Convertit la valeur du Decimal spécifié en entier non signé 8 bits équivalent. |
|
ToDouble | Convertit la valeur du Decimal spécifié en nombre à virgule flottante double précision équivalent. |
|
ToInt16 | Convertit la valeur du Decimal spécifié en entier signé 16 bits équivalent. |
|
ToInt32 | Convertit la valeur du Decimal spécifié en entier signé 32 bits équivalent. |
|
ToInt64 | Convertit la valeur du Decimal spécifié en entier signé 64 bits équivalent. |
|
ToOACurrency | Convertit la valeur Decimal spécifiée en valeur monétaire OLE Automation équivalente figurant dans un entier signé 64 bits. |
|
ToSByte | Convertit la valeur du Decimal spécifié en entier signé 8 bits équivalent. |
|
ToSingle | Convertit la valeur du Decimal spécifié en nombre à virgule flottante simple précision équivalent. |
|
ToString() | Convertit la valeur numérique de cette instance en sa représentation équivalente sous forme de chaîne. (Substitue ValueType.ToString().) |
|
ToString(IFormatProvider) | Convertit la valeur numérique de cette instance en sa représentation sous forme de chaîne équivalente à l'aide des informations de format spécifiques à la culture donnée. |
|
ToString(String) | Convertit la valeur numérique de cette instance en sa représentation sous forme de chaîne équivalente en utilisant le format spécifié. |
|
ToString(String, IFormatProvider) | Convertit la valeur numérique de cette instance en sa représentation sous forme de chaîne équivalente à l'aide de la mise en forme spécifiée et des informations de mise en forme spécifiques à la culture. |
|
ToUInt16 | Convertit la valeur du Decimal spécifié en entier non signé 16 bits équivalent. |
|
ToUInt32 | Convertit la valeur du Decimal spécifié en entier non signé 32 bits équivalent. |
|
ToUInt64 | Convertit la valeur du Decimal spécifié en entier non signé 64 bits équivalent. |
|
Truncate | Retourne les chiffres intégraux du Decimal spécifié ; tous les chiffres fractionnaires sont ignorés. |
|
TryParse(String, Decimal) | Convertit la représentation sous forme de chaîne d'un nombre en sa représentation Decimal équivalente. Une valeur de retour indique si la conversion a réussi ou a échoué. |
|
TryParse(String, NumberStyles, IFormatProvider, Decimal) | Convertit la représentation sous forme de chaîne d'un nombre en son équivalent Decimal à l'aide du style et du format spécifique à la culture spécifiés. Une valeur de retour indique si la conversion a réussi ou a échoué. |
| Nom | Description | |
|---|---|---|
|
Addition | Ajoute deux valeurs Decimal spécifiées. |
|
Decrement | Décrémente l'opérande Decimal de 1. |
|
Division | Divise deux valeurs Decimal spécifiées. |
|
Equality | Retourne une valeur indiquant si deux instances de Decimal sont égales. |
|
Explicit(Decimal to Byte) | Convertit un Decimal en entier non signé 8 bits. |
|
Explicit(Decimal to UInt16) | Convertit un Decimal en entier non signé 16 bits. |
|
Explicit(Decimal to SByte) | Convertit un Decimal en entier signé 8 bits. |
|
Explicit(Decimal to Int16) | Convertit un Decimal en entier signé 16 bits. |
|
Explicit(Decimal to Single) | Convertit un Decimal en nombre à virgule flottante simple précision. |
|
Explicit(Decimal to Double) | Convertit un Decimal en nombre à virgule flottante double précision. |
|
Explicit(Decimal to Char) | Convertit un Decimal en caractère Unicode. |
|
Explicit(Decimal to UInt64) | Convertit un Decimal en entier non signé 64 bits. |
|
Explicit(Decimal to Int32) | Convertit un Decimal en entier signé 32 bits. |
|
Explicit(Decimal to UInt32) | Convertit un Decimal en entier non signé 32 bits. |
|
Explicit(Decimal to Int64) | Convertit un Decimal en entier signé 64 bits. |
|
Explicit(Double to Decimal) | Convertit un nombre à virgule flottante double précision en Decimal. |
|
Explicit(Single to Decimal) | Convertit un nombre à virgule flottante simple précision en Decimal. |
|
GreaterThan | Retourne une valeur indiquant si un Decimal spécifié est supérieur à un autre Decimal spécifié. |
|
GreaterThanOrEqual | Retourne une valeur indiquant si un Decimal spécifié est supérieur ou égal à un autre Decimal spécifié. |
|
Implicit(Byte to Decimal) | Convertit un entier non signé 8 bits en Decimal. |
|
Implicit(Char to Decimal) | Convertit un caractère Unicode en Decimal. |
|
Implicit(Int16 to Decimal) | Convertit un entier signé 16 bits en Decimal. |
|
Implicit(Int32 to Decimal) | Convertit un entier signé 32 bits en Decimal. |
|
Implicit(Int64 to Decimal) | Convertit un entier signé 64 bits en Decimal. |
|
Implicit(SByte to Decimal) | Convertit un entier signé 8 bits en Decimal. |
|
Implicit(UInt16 to Decimal) | Convertit un entier non signé 16 bits en Decimal. |
|
Implicit(UInt32 to Decimal) | Convertit un entier non signé 32 bits en Decimal. |
|
Implicit(UInt64 to Decimal) | Convertit un entier non signé 64 bits en Decimal. |
|
Increment | Incrémente l'opérande Decimal de 1. |
|
Inequality | Retourne une valeur indiquant si deux instances de Decimal ne sont pas égales. |
|
LessThan | Retourne une valeur indiquant si un Decimal spécifié est inférieur à un autre Decimal spécifié. |
|
LessThanOrEqual | Retourne une valeur indiquant si un Decimal spécifié est inférieur ou égal à un autre Decimal spécifié. |
|
Modulus | Retourne le reste de la division de deux valeurs Decimal spécifiées. |
|
Multiply | Multiplie deux valeurs Decimal spécifiées. |
|
Subtraction | Soustrait deux valeurs Decimal spécifiées. |
|
UnaryNegation | Rend négative la valeur de l'opérande Decimal spécifié. |
|
UnaryPlus | Retourne la valeur de l'opérande Decimal (le signe de l'opérande est le même). |
| Nom | Description | |
|---|---|---|
|
MaxValue | Représente la plus grande valeur possible de Decimal. Ce champ est une constante et est en lecture seule. |
|
MinusOne | Représente le nombre 1 négatif (-1). |
|
MinValue | Représente la plus petite valeur possible de Decimal. Ce champ est une constante et est en lecture seule. |
|
One | Représente le nombre un (1). |
|
Zero | Représente le nombre zéro (0). |
| Nom | Description | |
|---|---|---|
|
IConvertible.ToBoolean | Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToBoolean. |
|
IConvertible.ToByte | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToByte. |
|
IConvertible.ToChar | Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException. |
|
IConvertible.ToDateTime | Infrastructure. Cette conversion n'est pas prise en charge. Toute tentative d'utilisation de cette méthode lève un InvalidCastException. |
|
IConvertible.ToDecimal | Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToDecimal. |
|
IConvertible.ToDouble | Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToDouble. |
|
IConvertible.ToInt16 | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt16. |
|
IConvertible.ToInt32 | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt32. |
|
IConvertible.ToInt64 | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt64. |
|
IConvertible.ToSByte | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToSByte. |
|
IConvertible.ToSingle | Infrastructure. Pour obtenir une description de ce membre, consultez IConvertible.ToSingle. |
|
IConvertible.ToType | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToType. |
|
IConvertible.ToUInt16 | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToUInt16. |
|
IConvertible.ToUInt32 | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt32. |
|
IConvertible.ToUInt64 | Infrastructure. Pour une description de ce membre, consultez IConvertible.ToInt64. |
|
IDeserializationCallback.OnDeserialization | Infrastructure. S'exécute lorsque la désérialisation d'un objet a été effectuée. |
Le type de valeur Decimal représente des nombres décimaux dont les valeurs varient de plus 79 228 162 514 264 337 593 543 950 335 à moins 79 228 162 514 264 337 593 543 950 335. Le type valeur Decimal convient particulièrement pour les opérations de calculs financiers nécessitant un nombre important de chiffres intégraux et fractionnaires significatifs, sans erreurs d'arrondi. Le type Decimal n'élimine pas la nécessité d'arrondir. Il réduit plutôt des erreurs en raison de l'arrondi. Par exemple, le code suivant produit un résultat de 0,9999999999999999999999999999 plutôt que 1.
Lorsque le résultat de la division et multiplication est passé à la méthode Round, le résultat ne souffre d'aucune perte de précision comme le montre le code suivant.
Un nombre décimal est une valeur à virgule flottante composée d'un signe, d'une valeur numérique dont les chiffres sont compris entre 0 et 9, et d'un facteur d'échelle qui indique la position d'une virgule décimale flottante séparant la partie entière de la partie fractionnaire de la valeur numérique.
La représentation binaire d'une valeur Decimal comporte un signe 1 bit, un nombre entier 96 bits et un facteur d'échelle servant à diviser l'entier 96 bits et à spécifier la partie correspondant à une fraction décimale. Le facteur de mise à l'échelle est implicitement le nombre 10, à une puissance allant de 0 à 28. Par conséquent, la représentation binaire d'une valeur Decimal est de la forme : ((-296 à 296) / 10(0 à 28)), où -296-1 est égal à MinValue, et 296-1 est égal à MaxValue.
Le facteur d'échelle conserve également tous les zéros de fin dans un nombre Decimal. Les zéros de fin n'affectent pas la valeur d'un nombre Decimal dans les opérations arithmétiques ou de comparaison. Toutefois, les zéros de fin peuvent être révélés par la méthode ToString si une chaîne de mise en forme appropriée est appliquée.
Considérations sur la conversion
Ce type fournit des méthodes utilisées pour la conversion de valeurs Decimal en et à partir de SByte, Int16, Int32, Int64, Byte, UInt16, UInt32, et UInt64. Les conversions de ces types intégraux en Decimal sont des conversions étendues qui ne perdent jamais d'informations et ne provoquent pas la levée d'exceptions.
Les conversions de Decimal en d'autres types intégraux sont des conversions restrictives qui arrondissent la valeur Decimal à la valeur entière la plus proche de zéro. Certains langages, tels que C#, prennent également en charge la conversion de valeurs Decimal en valeurs Char. Si le résultat de ces conversions ne peut pas être représenté dans le type de destination, un OverflowException est levé.
Le type Decimal fournit également des méthodes qui convertissent les valeurs Decimal en et à partir de Single et Double. Les conversions de Decimal en Single et Double sont des conversions restrictives qui peuvent entraîner une perte de précision, mais non la perte des informations se rapportant à la magnitude de la valeur convertie. Aucune exception n'est levée lors de la conversion.
Les conversions de Single ou Double en Decimal lèvent OverflowException si le résultat de la conversion ne peut pas être représenté en tant que Decimal.
L'exemple de code suivant illustre l'utilisation de Decimal.
/// <summary> /// Keeping my fortune in Decimals to avoid the round-off errors. /// </summary> class PiggyBank { protected decimal MyFortune; public void AddPenny() { MyFortune = Decimal.Add(MyFortune, .01m); } public decimal Capacity { get { return Decimal.MaxValue; } } public decimal Dollars { get { return Decimal.Floor(MyFortune); } } public decimal Cents { get { return Decimal.Subtract(MyFortune, Decimal.Floor(MyFortune)); } } public override string ToString() { return MyFortune.ToString("C")+" in piggy bank"; } }
Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2
Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Tous les membres de ce type sont thread-safe. Les membres qui semblent modifier l'instance d'état retournent, en réalité, une nouvelle instance initialisée avec la nouvelle valeur. Comme avec tout autre type, la lecture et l'écriture sur une variable partagée qui contient une instance de ce type doivent être protégées par un verrou pour garantir la sécurité des threads.
Attention
|
|---|
|
L'assignation d'une instance de ce type n'est pas thread-safe sur toutes les plateformes matérielles car la représentation binaire de cette instance peut être trop grande pour être assignée dans une seule opération atomique. |
Attention