Konvertieren eines Long in ein Double in Java
Nachdem wir verstanden haben, was Long und double sind, wollen wir lernen, wie man zwischen ihnen konvertiert. Java bietet verschiedene Methoden, um ein Long in ein double zu konvertieren.
Erstellen eines Konvertierungsbeispielprogramms
Erstellen wir eine neue Datei namens LongToDoubleConverter.java, um die verschiedenen Konvertierungsmethoden zu demonstrieren:
- Navigieren Sie in der WebIDE zum Verzeichnis
~/project/long-to-double.
- Klicken Sie mit der rechten Maustaste und wählen Sie "Neue Datei".
- Benennen Sie die Datei
LongToDoubleConverter.java.
Fügen Sie den folgenden Code in die Datei ein:
public class LongToDoubleConverter {
public static void main(String[] args) {
// Method 1: Implicit conversion from primitive long to primitive double
long primitiveLong = 1234567890L;
double convertedDouble1 = primitiveLong;
System.out.println("Method 1 (Implicit conversion):");
System.out.println("Original long value: " + primitiveLong);
System.out.println("Converted double value: " + convertedDouble1);
System.out.println();
// Method 2: Explicit casting from primitive long to primitive double
double convertedDouble2 = (double) primitiveLong;
System.out.println("Method 2 (Explicit casting):");
System.out.println("Original long value: " + primitiveLong);
System.out.println("Converted double value: " + convertedDouble2);
System.out.println();
// Method 3: Using Long wrapper's doubleValue() method
Long wrapperLong = 9876543210L;
double convertedDouble3 = wrapperLong.doubleValue();
System.out.println("Method 3 (Using doubleValue()):");
System.out.println("Original Long wrapper value: " + wrapperLong);
System.out.println("Converted double value: " + convertedDouble3);
System.out.println();
}
}
Kompilieren und führen wir nun dieses Programm aus:
cd ~/project/long-to-double
javac LongToDoubleConverter.java
java LongToDoubleConverter
Sie sollten eine Ausgabe ähnlich der folgenden sehen:
Method 1 (Implicit conversion):
Original long value: 1234567890
Converted double value: 1.23456789E9
Method 2 (Explicit casting):
Original long value: 1234567890
Converted double value: 1.23456789E9
Method 3 (Using doubleValue()):
Original Long wrapper value: 9876543210
Converted double value: 9.87654321E9
Erläuterung der Konvertierungsmethoden
Lassen Sie uns jede Konvertierungsmethode verstehen:
Methode 1: Implizite Konvertierung
double convertedDouble1 = primitiveLong;
Java konvertiert automatisch das primitive long in ein primitives double. Dies wird als implizite Konvertierung oder erweiternde Konvertierung (widening conversion) bezeichnet, da double einen größeren Wertebereich darstellen kann als long.
Methode 2: Explizites Casting
double convertedDouble2 = (double) primitiveLong;
Hier weisen wir Java explizit an, das long mithilfe eines Casts in ein double zu konvertieren. Dies ist ausführlicher, macht aber die Konvertierung in Ihrem Code deutlich.
Methode 3: Verwendung der doubleValue()-Methode
double convertedDouble3 = wrapperLong.doubleValue();
Wenn Sie mit der Long-Wrapper-Klasse (nicht dem primitiven long) arbeiten, können Sie die doubleValue()-Methode verwenden, um in ein primitives double zu konvertieren.
Alle drei Methoden erzeugen das gleiche numerische Ergebnis, werden aber in unterschiedlichen Kontexten verwendet, je nachdem, ob Sie mit primitiven Typen oder Wrapper-Klassen arbeiten.