使用printf在java中显示两位小数?
下面的代码示例使用printf在java中显示两位小数?,java,printf,double,Java,Printf,Double,下面的代码示例 double maxHeight; maxHeight = (Math.pow(speed * Math.sin(angle), 2) / 2 * gravity); System.out.printf("Maximum height: %.2f", (maxHeight)); 我收到的错误是: PrintStream类型中的方法printf(String,Object[])不适用于参数(String,double) 使用printf方法只打印两位小数的最简单解决方案是什么?或
double maxHeight;
maxHeight = (Math.pow(speed * Math.sin(angle), 2) / 2 * gravity);
System.out.printf("Maximum height: %.2f", (maxHeight));
我收到的错误是:
PrintStream类型中的方法printf(String,Object[])不适用于参数(String,double)
使用printf方法只打印两位小数的最简单解决方案是什么?或者有没有其他解决方案而不创建十进制格式?问题是varargs正在查找一个或多个
对象,并且您提供了一个基本变量。最简单的方法可能只是将其包装:
System.out.printf("Maximum height: %.2f", Double.valueOf(maxHeight));
我没有发现任何错误。您使用的是旧版本的Java吗?您是为旧版本编译的吗,比如说javac-target1.4
?使用已经有printf的JDK,但目标没有varargs。也检查源代码版本。当我尝试它时,它会自动装箱double
很好(使用1.8)。您的变通方法是否仅适用于1.4及更低版本?或者有更高版本需要它吗?@ajb不确定printf
直到1.5才被添加,所以如果是自动装箱问题,那么在这一点之后就会有所不同。