Синтаксис десятичных форматов двойных

Я новичок в Java, и я столкнулся с чем-то вроде "кривой изучения синтаксиса" здесь. Мне было интересно, как я получу двойные в моей программе, то есть "скорость", чтобы отформатировать в "#.00"?

Я предполагаю, что мне придется использовать "DecimalFormat", чтобы сделать это, но я не совсем уверен, как использовать его для достижения того, чего я хочу в этой ситуации:

StringTokenizer st = new StringTokenizer(reader.readLine());

while (st.hasMoreTokens())
{   
    DecimalFormat df = new DecimalFormat("#.00");
    hours = Integer.parseInt(st.nextToken());   // Converts number of hours to double
    rate = Double.parseDouble(st.nextToken());  // Converts rate to integer

    totalCost += (hours * rate);
    System.out.println("Rate = £" + rate + "\t" + "Hours = " + hours);
}

К сожалению, я все еще на этапе, когда документация Oracle на 95% непонятна для меня, поэтому любые полезные идеи здесь будут приветствоваться:)

РЕДАКТИРОВАТЬ: распечатка в настоящее время выглядит следующим образом...

 Rate = £8.0

Должно выглядеть так:

 Rate = £8.00

2 ответа

Решение

Я думаю, что это должно работать:

System.out.println("Rate = E" + df.format(rate) + "\t" + "Hours = " + hours);

Вы определили DecimalFormat, но никогда не использовал его в печати.

Покажите это так:

System.out.println("Rate = £" + df.format(rate) + "\t" + "Hours = " + hours);
Другие вопросы по тегам