你好,我是一個初學者,我試圖在java中使用printf打印一個小數點後1位的值;但是在轉換時出現錯誤。這是錯誤的行。爲什麼printf導致我的程序崩潰
System.out.printf(" us Ratio = %.1f us/compare \n " , elapsedTime/1000);
你好,我是一個初學者,我試圖在java中使用printf打印一個小數點後1位的值;但是在轉換時出現錯誤。這是錯誤的行。爲什麼printf導致我的程序崩潰
System.out.printf(" us Ratio = %.1f us/compare \n " , elapsedTime/1000);
這個只要改變你的代碼:
System.out.printf(" us Ratio = %.1f us/compare \n ", (float)(elapsedTime/1000));
你越來越錯誤,因爲你沒有提供float
作爲參數,其中需要。
您必須使用一個表達式,該表達式將隱式轉換爲float
或如上所示進行明確轉換。
可以使用double
以及這裏
是什麼'elapsedTime'?它是一個浮點數,整數,字符串?你確定它不是'null'嗎?你可以在這個調用之前粘貼異常堆棧跟蹤和一些代碼來演示發生了什麼? – SnakeDoc 2014-10-04 20:59:16
你至少看過錯誤信息嗎?你不認爲它可能包含有用的信息,有助於診斷問題嗎?如果是這樣,你爲什麼不發佈它? – 2014-10-04 21:02:18