Подтвердить что ты не робот

Форматируйте от двух до двух знаков после запятой с ведущими 0s

Возможный дубликат:
Радиус удвоения до 2 значащих цифр после десятичной точки

Я пытаюсь отформатировать два-два десятичных знака с ведущими нулями, и нет никакой удачи. Вот мой код:

Double price = 32.0;
DecimalFormat decim = new DecimalFormat("#.##");
Double price2 = Double.parseDouble(decim.format(price));

И я хочу, чтобы результат был 32.00, вместо этого я получаю 32.0
Любые решения?

4b9b3361

Ответ 1

OP хочет вести нули. Если это случай, то согласно Tofubeer:

    DecimalFormat decim = new DecimalFormat("0.00");

Edit:

Помните, мы говорим здесь о форматировании чисел, а не о внутреннем представлении чисел.

    Double price = 32.0;
    DecimalFormat decim = new DecimalFormat("0.00");
    Double price2 = Double.parseDouble(decim.format(price));
    System.out.println(price2);

напечатает price2, используя формат по умолчанию. Если вы хотите напечатать форматированное представление, напечатайте его в формате:

    String s = decim.format(price);
    System.out.println("s is '"+s+"'");

В этом свете я не думаю, что ваш parseDouble() делает то, что вы хотите, и не может.

Ответ 2

Попробуйте следующее:

 DecimalFormat decim = new DecimalFormat("#.00");