Отображение двух знаков после запятой при округлении

Рейтинг: 3Ответов: 2Опубликовано: 07.04.2015

Приветствую всех. Кто знает как сделать чтобы после округления числа типа double стояли два знака после него.

int i=3,j=7;
double var, result;
var = (double)(i*100)/j;
result = Math.rint(100.0 * var) / 100.0;
System.out.println(var);
System.out.println(result);

выдает 42.857142857142854

42.86

Но если округление проходит до целого числа, например при i=1 j=4 то результатом будет 25.0. Но мне надо чтобы было 25.00. Спасибо.

Ответы

▲ 9Принят

Можно воспользоваться java.util.Formatter, разделитель целой и десятичной частей зависит от java.util.Locale:

System.out.println(String.format("%(.2f Default locale", var));
System.out.println(String.format(Locale.ENGLISH, "%(.2f English locale", var));
System.out.println(String.format(new Locale("ru"), "%(.2f Russian locale", var));

Выведет:

42.86 Default locale
42.86 English locale
42,86 Russian locale
▲ 6

Чтобы отображать два знака после запятой при преобразовании числа в строку, используйте класс java.text.DecimalFormat.

String pattern = "##0.00";
DecimalFormat decimalFormat = new DecimalFormat(pattern);
String format = decimalFormat.format(25.0000);
System.out.println(format);

выведет: 25.00