Синтаксис десятичных форматов двойных
Я новичок в 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);