Partager via


float (Référence C#)

Mise à jour : novembre 2007

Le mot clé float désigne un type simple qui stocke des valeurs 32 bits en virgule flottante. Le tableau suivant indique la plage de valeurs approximative et la précision fournies par le type float.

Type

Plage approximative

Précision

Type .NET Framework

float

±1.5 × 10−45 à ±3.4 × 1038

7 chiffres

System.Single

Littéraux

Par défaut, un littéral numérique réel situé à droite de l'opérateur d'assignation est considéré de type double. Par conséquent, si vous souhaitez initialiser une variable de type float, utilisez le suffixe f ou F, comme indiqué ci-après :

float x = 3.5F;

Si vous ne spécifiez aucun suffixe dans la déclaration ci-dessus, une erreur de compilation se produit, car vous essayez de stocker une valeur double dans une variable float.

Conversions

Vous pouvez combiner, au sein d'une expression, des types numériques intégraux et des types virgule flottante. Dans ce cas, les types intégraux sont convertis en types virgule flottante. L'expression est évaluée selon les règles suivantes :

  • Si l'un des types virgule flottante est double, le résultat de l'évaluation est aussi de type double ou de type bool dans des expressions relationnelles ou booléennes.

  • Si l'expression ne comporte pas de type double, le résultat de l'évaluation est de type float ou bool dans des expressions relationnelles ou booléennes.

Une expression en virgule flottante peut contenir les ensembles de valeurs suivants :

  • Zéro positif et zéro négatif

  • Nombre positif infini et nombre négatif infini

  • Valeur non numérique (NaN ou Not-a-Number)

  • Ensemble fini des valeurs différentes de zéro

Pour plus d'informations sur ces valeurs, consultez IEEE Standard for Binary Floating-Point Arithmetic, disponible sur le site Web IEEE.

Exemple

Dans l'exemple suivant, un int, un short et un float sont inclus dans une expression mathématique produisant un résultat float. (N'oubliez pas que float est un alias pour le type System.Single.) Notez l'absence de double dans l'expression.

class FloatTest 
{
    static void Main() 
    {
        int x = 3;
        float y = 4.5f;
        short z = 5;
        var result = x * y / z;
        Console.WriteLine("The result is {0}", result);
        Type type = result.GetType();
        Console.WriteLine("result is of type {0}", type.ToString());
    }
}
/* Output: 
  The result is 2.7
  result is of type System.Single //'float' is alias for 'Single'
 */

Spécification du langage C#

Pour plus d'informations, consultez les sections suivantes dans Spécifications du langage C#.

  • 4.1.6 Types virgule flottante

  • 6.2.1 Conversions numériques explicites

Voir aussi

Concepts

Guide de programmation C#

Référence

Mots clés C#

Tableau des types intégraux (Référence C#)

Tableau des types intégrés (Référence C#)

Tableau des conversions numériques implicites (Référence C#)

Tableau des conversions numériques explicites (Référence C#)

Single

Autres ressources

Référence C#