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.
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInArticle connexe - Java Double
- Convertir Int en Double en Java
- Comparer les doubles en Java
- Double en Java
- Convertir long en double en Java
- Convertir Double en String en Java