Type de données flottant et double en Java

Les types de données float et double sont utilisés pour stocker des nombres réels ou à virgule flottante en Java, mais un type de données double est plus précis que float. double est le type de données par défaut pour les nombres à virgule flottante.

Pour stocker des nombres à virgule flottante avec précision

Un float est une virgule flottante IEEE 754 32 bits tandis qu’un double est une virgule flottante IEEE 754 64 bits. float a une portée inférieure à celle du double.

Dans l’exemple donné ci-dessous, nous avons d de type de données double, qui est obtenu en divisant deux variables double d1 et d2. De même, nous avons f1 résultant lorsque deux variables flottantes f1 et f2 sont divisées. Dans le cas du double, il n’est pas nécessaire d’utiliser le suffixe d ou d, alors que pour les données de type float il faut utiliser le suffixe f ou f car par défaut, toutes les nombres sont considérés comme double en Java.

Dans la sortie, nous pouvons voir que la précision et l’exactitude de la variable double d est plus que la variable float f. Nous savons que double est un type de données plus gros que float, nous devons donc le transtyper. Pour transtyper double en float, nous devons mentionner le mot-clé float entre parenthèses avant la valeur décimale.

Il est visible dans la sortie qu’en convertissant la variable double en float, elle perd des données et de la précision car nous stockons un type de données plus grand dans un type de données plus petit. Par conséquent, double prend plus de mémoire pour stocker des nombres flottants en double précision et donne des résultats précis.

public class Test {
    public static void main(String args[]){
        double d1 = 10.0;
        double d2 = 3.0;
        double d = d1/d2;
        System.out.println("double d : "+d);

        float f1 = 10.0f;
        float f2 = 3.0f;
        float f = f1/f2;
        System.out.println("float f : "+f);

        float f3 = (float) d;
        System.out.println("float f3 : "+f3);

        double d3 = f;
        System.out.println( "double d3 : "+d3);

    }
}

Production:

double d : 3.3333333333333335
float f : 3.3333333
float f3 : 3.3333333
double d3 : 3.3333332538604736

La différence entre les deux types de données peut être illustrée avec les données tabulaires données.

Type de données Précision Taille Default Type de données Valeur par défaut Suffixe Classe d’emballage Perte de données Mot-clé
Flotter Précision simple (6-7 chiffres décimaux) 32 bits Non 0.0f Utilisez f ou F. Nous devons ajouter ce suffixe car par défaut, les nombres flottants sont explicitement traités comme des doubles java.lang.Float Aucune perte de données lors de la conversion de float en double Le mot-clé float est utilisé pour le type float
Double Double précision (15-16 chiffres décimaux) 64 bits Oui 0.0d Utilisez d ou D. Facultatif pour utiliser le suffixe java.lang.Double Perte de données lors de la conversion de double en float Le mot-clé double est utilisé pour définir un nombre en double précision

Float et double sont utilisés pour représenter des nombres réels. Les deux types de données ne sont pas précis ; ce sont des types approximatifs. Lorsque nous avons besoin d’un résultat précis et précis, nous devrions viser le double. S’il y a des contraintes de mémoire et d’espace, alors float doit être pris en compte.

Article connexe - Java Double

  • Convertir Double en String en Java
  • Mettre en forme une valeur double en Java
  • Article connexe - Java Float

  • Convertir Float en String et String en Float en Java
  • Mettre en forme une valeur double en Java