Float- und Double-Datentyp in Java
Float- und Double-Datentypen werden zum Speichern von reellen oder Gleitkommazahlen in Java verwendet, aber ein Double-Datentyp ist genauer als Float. double
ist der Standarddatentyp für Gleitkommazahlen.
So speichern Sie Gleitkommazahlen mit Präzision
Ein Float
ist ein 32-Bit IEEE 754-Gleitkomma, während ein Double ein 64-Bit IEEE 754-Gleitkomma ist. Float
hat im Vergleich zu Double eine geringere Reichweite.
Im folgenden Beispiel haben wir d
vom Datentyp double
, der durch Division zweier double
-Variablen d1
und d2
erhalten wird. Ebenso ergibt sich f1
, wenn zwei float
-Variablen f1
und f2
geteilt werden. Im Fall von double
brauchen wir das Suffix d
oder D
nicht zu verwenden, während wir für Daten vom Typ float
standardmäßig das Suffix f
oder F
verwenden müssen, alle real Zahlen gelten in Java als double
.
In der Ausgabe sehen wir, dass die Genauigkeit und Genauigkeit der double
-Variable d
höher ist als die der float
-Variable f
. Wir wissen, dass double
ein größerer Datentyp als float
ist, also müssen wir ihn downcasten. Um double
in float
umzuwandeln, müssen wir das Schlüsselwort float
in Klammern vor dem Dezimalwert angeben.
In der Ausgabe ist ersichtlich, dass durch die Umwandlung der Variable double
in float
Daten und Genauigkeit verloren gehen, da wir einen größeren Datentyp in einen kleineren Datentyp speichern. Daher benötigt double
mehr Speicher, um Gleitkommazahlen mit doppelter Genauigkeit zu speichern, und liefert genaue Ergebnisse.
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);
}
}
Ausgabe:
double d : 3.3333333333333335
float f : 3.3333333
float f3 : 3.3333333
double d3 : 3.3333332538604736
Der Unterschied zwischen den beiden Datentypen lässt sich anhand der angegebenen Tabellendaten veranschaulichen.
Datentyp | Präzision | Größe | Default Datentyp | Standardwert | Suffix | Wrapper-Klasse | Datenverlust | Stichwort |
---|---|---|---|---|---|---|---|---|
Schweben | Einfache Genauigkeit (6-7 Dezimalstellen) | 32-Bit | Nein | 0.0f | Verwenden Sie f oder F. Wir müssen dieses Suffix hinzufügen, da Float-Zahlen standardmäßig explizit als Double behandelt werden | java.lang.Float | Kein Datenverlust beim Konvertieren von Float in Double | Das Schlüsselwort float wird für den Float-Typ verwendet |
Doppelt | Doppelte Genauigkeit (15-16 Dezimalstellen) | 64-Bit | Ja | 0.0d | Verwenden Sie d oder D. Optional, um Suffix zu verwenden | java.lang.Double | Datenverlust beim Konvertieren von Double in Float | Das Schlüsselwort double wird verwendet, um eine Zahl mit doppelter Genauigkeit zu definieren |
Float und Double werden verwendet, um reelle Zahlen darzustellen. Beide Datentypen sind nicht präzise; sie sind ungefähre Typen. Wenn wir ein genaues und präzises Ergebnis benötigen, sollten wir uns für das Doppelte entscheiden. Wenn es eine Speicher- und Platzbeschränkung gibt, sollte Float in Betracht gezogen werden.
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedInVerwandter Artikel - Java Double
- Konvertieren von Int in Double in Java
- Double in Java
- Vergleichen von Doubles in Java
- Konvertieren long in double in Java
- Konvertieren Sie Double in String in Java