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.

Verwandter Artikel - Java Double

  • Konvertieren Sie Double in String in Java
  • Wie man ein Doppel auf zwei Dezimalstellen in Java rundet
  • Verwandter Artikel - Java Float

  • Konvertieren von Int in Double in Java
  • Konvertieren Sie Double in Float in Java