Float vs Double vs Decimal en C#

Muhammad Maisam Abbas 16 février 2024
  1. Le type de données Float en C#
  2. Le type de données Double en C#
  3. Le type de données Decimal en C#
  4. Float vs Double vs Decimal en C#
Float vs Double vs Decimal en C#

Ce didacticiel abordera les similitudes et les différences entre les types de données Float, Double et Decimal en C#.

Le type de données Float en C#

Le type de données Float stocke les valeurs à virgule flottante en C#. Le mot clé float permet de déclarer une variable float. Nous devons utiliser le spécificateur f lors de l’initialisation pour indiquer au compilateur que la valeur est une valeur à virgule flottante. Une variable flottante a une taille de 32bits, ce qui signifie qu’elle peut stocker des valeurs de -3.402823e38 à +3.402823e38. Une variable flottante a une précision de 7 chiffres en C#. L’exemple de code suivant nous montre comment déclarer une variable float en C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    float fval = 100.0f / 3;
    Console.WriteLine(fval);
  }
}
}

Production:

33.33333

Nous avons initialisé la variable float fval avec le mot clé float et le spécificateur f en C#. La sortie imprimée montre que la précision du fval n’est que de 7 chiffres.

Le type de données Double en C#

Le Type de données Double stocke également les valeurs à virgule flottante en C#. Le mot-clé double permet de déclarer une variable double. Nous devons utiliser le spécificateur d lors de l’initialisation pour indiquer au compilateur que la valeur est une valeur double. Une variable double a une taille de 64bits, ce qui signifie qu’elle peut stocker des valeurs de -1.79769313486232e308 à +1.79769313486232e308. Une variable double a une précision de 15 chiffres en C#. L’exemple de code suivant nous montre comment déclarer une variable double en C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    double dval = 100.0d / 3;
    Console.WriteLine(dval);
  }
}
}

Production:

33.3333333333333

Nous avons initialisé la variable double dval avec le mot-clé double et le spécificateur d en C#. La sortie imprimée montre que la précision du dval est de 15 chiffres.

Le type de données Decimal en C#

Le type de données décimal stocke également les valeurs à virgule flottante en C#. Le mot clé decimal permet de déclarer une variable décimale. Nous devons utiliser le spécificateur M lors de l’initialisation pour indiquer au compilateur que la valeur est une valeur décimale. Une variable décimale a une taille de 128bits, ce qui signifie qu’elle peut stocker des valeurs allant de -79,228,162,514,264,337,593,543,950,335 à +79,228,162,514,264,337,593,543,950,335. Une variable décimale a une précision de 29 chiffres en C#. L’exemple de code suivant nous montre comment déclarer une variable décimale en C#.

using System;

namespace data_types {
  static void Main(string[] args) {
    decimal dval = 100.0M / 3;
    Console.WriteLine(dval);
  }
}
}

Production:

33.333333333333333333333333333

Nous avons initialisé la variable décimale dval avec le mot clé decimal et le spécificateur M en C#. La sortie imprimée montre que la précision du dval est de 29 chiffres.

Float vs Double vs Decimal en C#

Les types de données float et double ont une précision et une taille inférieures à celles du type de données décimal. Ainsi, le type de données décimal est recommandé pour enregistrer des informations sensibles qui nécessitent un grand nombre de chiffres significatifs comme les transactions financières. Mais, le type de données décimal est beaucoup plus lent que les types de données float et double. Ainsi, chaque fois que nous avons affaire à des valeurs scientifiques qui sont déjà une approximation et qui ne nécessitent pas de très haute précision, nous pouvons soit utiliser le type de données float ou double en fonction de nos besoins.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.

LinkedIn

Article connexe - Csharp Float

Article connexe - Csharp Double

Article connexe - Csharp Decimal