You're confusing the number with the String representation of the number. These are two very different things. A floating point number has an accuracy, but it doesn't understand what display significant digits mean. It's like asking the abstract number 0 to know that 00 is.
To display the number correctly, use the formatter that you have already created:
System.out.println(format.format(num1));