This is just another way to display the number. Documentation does a reasonable job of explaining it.
If you just want to print it in the same format, you can use printf or String.format :
Print 0.000719 :
System.out.printf("%f\n", Double.parseDouble("0.00071942446044"));
Print 0.00071942446044 : (with hard-coded precision, which is probably not an idea)
System.out.printf("%.14f\n", Double.parseDouble("0.00071942446044"));
Also note that numbers are not stored in terms of numbers, so you wonβt get an accurate representation with high precision for floating point types ( float and double ) (although double , as you can see, can handle this number of digits). Note what happens if you use float :
Print 7.1942444 :
System.out.printf("%.7f\n", Float.parseFloat("7.1942446"));
Similar test case for double : (prints 7.1942446044352310 )
System.out.printf("%.16f\n", Double.parseDouble("7.1942446044352312"));
If you need more accuracy (for the price, obviously memory and speed), you should use BigDecimal .
source share