In this tutorial, you will learn how to convert a long value to a double in Java. We’ll go over implicit conversion and discuss why it’s a straightforward operation in Java.

Java – Convert long to double

Converting long to double in Java – In Java, converting a long to a double is a simple process because double can represent a much larger range of values than long. This conversion is handled automatically by Java as an implicit widening conversion.

Implicit Conversion from long to double

Java allows implicit conversion (also called widening) from long to double. This means you can assign a long value directly to a double variable without needing any explicit cast.

Example of Implicit Conversion

</>
Copy
public class LongToDoubleExample {

    public static void main(String[] args) {
        long longVal = 500000L;
        double doubleVal = longVal; // Implicit conversion from long to double
        System.out.println("Long value: " + longVal);
        System.out.println("Double value after conversion: " + doubleVal);
    }
}

Output

Long value: 500000
Double value after conversion: 500000.0

In this example, the long value 500000 is implicitly converted to a double, which displays as 500000.0.

Why Use Double for Large Values

While both long and double can represent large values, double offers a much larger range and can represent fractional numbers. However, since double is a floating-point type, very large long values may experience precision loss if they exceed double‘s ability to represent exact integers.

Explicit Conversion from long to double

Although implicit conversion works, you can explicitly cast a long to a double to make the conversion clear in your code.

Example of Explicit Conversion

</>
Copy
public class LongToDoubleExample {

    public static void main(String[] args) {
        long longVal = 123456L;
        double doubleVal = (double) longVal; // Explicit conversion from long to double
        System.out.println("Long value: " + longVal);
        System.out.println("Double value after explicit conversion: " + doubleVal);
    }
}

Even though the result will be the same, explicit conversion can help make the code more readable by indicating that a conversion is happening.

Conclusion

Converting a long to a double in Java is straightforward due to implicit widening. Java handles this conversion automatically, allowing for smooth data handling without any explicit cast. However, keep in mind that double has limited precision for very large integer values.