In Java benötigen Sie keine explizite Konvertierung, um ein "Float" in einen "Doppel" zu ändern. Java fördert automatisch "Float" zu "double", wenn nötig. Dies nennt man * wachsende Konvertierung *, weil "Double" einen größeren Bereich und eine Präzision als "float" aufweist.
So funktioniert es:
`` `Java
öffentliche Klasse Floattodouble {
public static void main (String [] args) {
float myfloat =3.14f; // Beachten Sie, dass das Suffix 'f' für Float -Literale von entscheidender Bedeutung ist.
double mydouble =myfloat; // implizite Konvertierung
System.out.println ("Float:" + myfloat);
System.out.println ("Double:" + myDouble);
}
}
`` `
Die Linie "Double myDouble =myfloat;" wandelt implizit den "Float" -Werwert in einen "Double" um. Es ist kein Casting erforderlich. Java kümmert sich nahtlos mit dem Umbau.
Wenn Sie arithmetische Operationen mit "Float" und "Double" ausführen würden, wird das "Float" vor der Berechnung automatisch zu "Double" befördert.
Während Sie es * ausdrücklich mit "(doppelter) myfloat" werfen können, ist es überflüssig, da der implizite Umbau bereits vom Java -Compiler korrekt und effizient behandelt wird:
`` `Java
double myDoubleexplicit =(doppelt) myfloat; // explizit, aber unnötig
`` `
In fast allen Fällen wird die implizite Konvertierung für eine bessere Lesbarkeit und SUKTIVERSICHT bevorzugt. Die explizite Besetzung ist möglicherweise nur in Situationen nützlich, in denen Sie die Konvertierung für die Lesbarkeit im komplexen Code sehr explizit machen oder betonen möchten, dass Sie sich des potenziellen Präzisionsverlusts bewusst sind (obwohl in diesem Fall von Float zu verdoppelt ist, ist es im Vergleich zu anderen Conversions minimal).