如何将一个值从纳秒转换为秒?

下面的代码段:

import java.io.*;
import java.util.concurrent.*; 
..

class Stamper { 

public static void main (String[] args) { 
long start = System.nanoTime(); 
//some try with nested loops 
long end = System.nanoTime(); 
long elapsedTime = end - start;

System.out.println("elapsed: " + elapsedTime + "nano seconds\n");

//convert to seconds 
TimeUnit seconds = new TimeUnit(); 
System.out.println("which is " + seconds.toSeconds(elapsedTime) + " seconds"); 
}}

的错误是

Stamper.java:16:  enum types may not be instantiated.

这是什么意思?

有帮助吗?

解决方案

好了,你可以只用10亿划分:

long elapsedTime = end - start;
double seconds = (double)elapsedTime / 1_000_000_000.0;

如果您使用TimeUnit转换,你会得到你的结果作为一项长期的,所以你会失去小数精度,但保持整数精确度。

scroll top