Давайте посмотрим на следующие операторы в Java.
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
В приведенных утверждениях все остальные случаи очевидны, кроме следующего.
System.out.println(new DecimalFormat("0").format(2.5));
Он должен вернуть 3
, но возвращает 2
. Как?