#java
Приветствую всех. Кто знает как сделать чтобы после округления числа типа 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. Спасибо.
Ответы
Ответ 1
Можно воспользоваться 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Ответ 2
Чтобы отображать два знака после запятой при преобразовании числа в строку, используйте класс java.text.DecimalFormat. String pattern = "##0.00"; DecimalFormat decimalFormat = new DecimalFormat(pattern); String format = decimalFormat.format(25.0000); System.out.println(format); выведет: 25.00Ответ 3
public static void main (String[] args) { Locale locale = new Locale("en"); Locale.setDefault(locale); String pattern = "##0.00"; DecimalFormat decimalFormat = new DecimalFormat(pattern); String format = decimalFormat.format(25.0000); System.out.println(format); } надо выставить стандартную локализацию как английскую, в ней как раз разделитель точка.
Комментариев нет:
Отправить комментарий