Are you sure what you are saying?
My computer is giving two different output.
float f1 = 123.4678f;
System.out.println(NumberFormat.getInstance().format(f1));//123.468
System.out.println(NumberFormat.getNumberInstance().format(f1));//123.468
System.out.println(NumberFormat.getIntegerInstance().format(f1));123
Ya here NumberFormat.getInstance() and NumberFormat.getNumberInstance() is same. No difference.
But NumberFormat.getIntegerInstance() is different, It is not going to display fractional part as it is IntegerInstance().
The returned number format is configured to round floating point numbers to the nearest integer using half-even rounding (see RoundingMode.HALF_EVEN) for formatting, and to parse only the integer part of an input
string (see isParseIntegerOnly).