我是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
答案 0 :(得分:1)
我认为这应该有效:
System.out.println("Rate = E" + df.format(rate) + "\t" + "Hours = " + hours);
答案 1 :(得分:0)
您定义了DecimalFormat
,但从未在打印中使用过它。
显示如下:
System.out.println("Rate = £" + df.format(rate) + "\t" + "Hours = " + hours);