2013-12-01 1 views
0

Я новичок в 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% непонятная для меня поэтому любые полезные идеи здесь было бы только приветствовать :)

EDIT: распечатке в настоящее время выглядит следующим образом ...

Rate = £8.0 

должны выглядеть следующим образом:

Rate = £8.00 
+0

Что программа для печати, когда она выполняется? На что вы хотите, чтобы результат выглядел? – NormR

ответ

1

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

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

Проще. Огромное спасибо! – DinosaurHunter

0

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

Показать это следующим образом:

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