Why Float and Double Outputs Are Different?
DEV Community
Buddika Abeykoon
float f = Long.MAX_VALUE; double d = Long.MAX_VALUE; System.out.println("Float max value is : "+ f); System.out.println("Double max value is : "+ d); =============================================== When we assign Long.MAX_VALUE to float and double, both try to store a very large number. But float cannot keep many digits accurately, so Java rounds the value and shows a shorter number like 9.223372E18. double has higher precision, so it can store more digits and shows a more accurate value like 9.223372036854776E18. That’s why both outputs are different even though they come from the same value.
