Question

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

Was it helpful?

Solution

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);
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top