Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用printf在java中显示两位小数?_Java_Printf_Double - Fatal编程技术网

使用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才被添加,所以如果是自动装箱问题,那么在这一点之后就会有所不同。