我有一个 long 表示 System.currentTimeMillis()
。然后,我稍后在我的代码中将另一个时间测量值放入一个 long var 中。我减去这两个,但现在想看到时间精确到小数点后 3 位。
目前,我在打印 long var 时使用 %d
来格式化我的输出,并且只获取非十进制值。
最佳答案
long
是一个整数。它没有小数位。你是说你想看到秒到小数点后三位吗?
long start = System.currentTimeMillis();
long time = System.currentTimeMillis() - start;
System.out.printf("Took %.3f%n", time/1e3);
您可以对 nanoTime 执行相同的操作,但它仍然是一个整数。如果要查看小数位,则需要除以 1e3(微秒)或 1e6(毫秒)或 1e9(秒)
关于Java:使用 currentTimeMillis() 获取时间很长,如何以 X 小数位精度输出它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7547255/