Arredondamento com DecimalFormat em Java

Vamos ver as seguintes declarações em Java.

<code>System.out.println(new DecimalFormat("0").format(2.4)); //returns 2

System.out.println(new DecimalFormat("0").format(2.5)); //returns 2  <---Concentrate here
System.out.println(Math.round(2.5));                    //returns 3

System.out.println(new DecimalFormat("0").format(2.6)); //returns 3
System.out.println(new DecimalFormat("0").format(3.5)); //returns 4
</code>

Nas declarações acima, todos os outros casos são óbvios, exceto o seguinte.

<code>System.out.println(new DecimalFormat("0").format(2.5));
</code>

Deve retornar3 mas retorna2. Como?

questionAnswers(2)

yourAnswerToTheQuestion