I am using milliseconds in my java program and converting it to seconds. After my method does this, it returns seconds in a long format.

System.out.println("[" + threadID + "]" + " " + "SeqSum res=" + grandTotal + " secs=" + stopTime);

I have used the variable stopTime to display the seconds.

My output is currently secs=0 It needs to be secs=0.000

I need it to be displayed to 3 decimal places using system.out.println() or system.out.format()

How can I reword my print statement so that I get the output secs=0.000?

Please help

有帮助吗?

解决方案

Milliseconds are a long, and don't have decimal places. You will need to divide them by 1000.0f to get them into fractional seconds. Then you will need to use the format method to limit them to 3 decimal places.

Something like:

   final long ms;
   final float sec;

   ms = System.currentTimeMillis();
   sec = ms / 1000.0f;
   System.out.format("%.3f", sec);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top