我是Java的新手,并且正在编写一本书,我的一个伙伴让我借钱。但是,我相信这本书可能有点过时了。
我正在尝试打印价格,为此本书使用了示例(packPrice& packVolume都是使用in.nextDouble()输入的双变量):
double pricePerOunce = packPrice / packVolume;
System.out.printf("Price per ounce: %8.2f", pricePerOunce);
System.out.println();
但是,当我在Java SE 8u5(Windows 64位)中尝试完全相同的代码时,我收到错误:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method printf(String, Object[]) in the type PrintStream is not applicable for
the arguments (String, double)
有没有人能解决我的问题?如果需要更多信息,请告诉我。
提前致谢!
答案 0 :(得分:0)
Why am I getting a compilation errors with a simple printf?
"检查项目的编译器合规性级别是否至少为1.5:
项目>属性> Java编译器
如果未设置启用项目特定设置,请使用该页面上的“配置工作区设置...”链接检查全局编译器合规性级别。"
答案 1 :(得分:0)
输出具有小数精度的double的另一种可能方法是这样做,
double d = 1.234567;
DecimalFormat df = new DecimalFormat("#.##");
System.out.print(df.format(d));
此示例和类似问题可在此处找到:set double format with 2 decimal places