为什么printf导致我的程序崩溃

时间:2014-10-04 20:57:20

标签: java

您好我是初学者,我正在尝试使用java中的printf将值打印到1位小数;但是我在转换时遇到错误。这是错误的一行。

System.out.printf( " us Ratio = %.1f us/compare \n " , elapsedTime/1000 ); 

2 个答案:

答案 0 :(得分:1)

elapsedTime定义为浮动

实施例。 elapsedTime = 1f;

然后它会起作用。或者您也可以将(elapsedTime/ 1000)的结果投射到float

类似于 - ((float) (elapsedTime/ 1000))

答案 1 :(得分:1)

只需更改您的代码:

System.out.printf(" us Ratio = %.1f us/compare \n ", (float)(elapsedTime / 1000));

您收到错误是因为您未在必要时提供float作为参数 您必须使用一个隐式转换为float的表达式或如上所示显式转换它。

也可以使用double