当前位置: 代码迷 >> J2SE >> java实现高精度计时,例如精确到小数点后9位小数
  详细解决方案

java实现高精度计时,例如精确到小数点后9位小数

热度:85   发布时间:2016-04-23 20:35:21.0
java实现高精度计时,比如精确到小数点后9位小数
如何用java实现高精度计时,比如精确到小数点后9位小数,像0.001408067s这样?
------解决方案--------------------
	public static void main(String[] args) {
long start = System.nanoTime();//纳秒
System.out.println(start);
long end   = System.nanoTime();//纳秒
System.out.println(end);
BigDecimal diff = BigDecimal.valueOf(end-start,10);//秒级差值
System.out.println(diff);
BigDecimal result = diff.setScale(9, RoundingMode.HALF_UP);//调节精度
System.out.println(result);
java.text.DecimalFormat fmt = new DecimalFormat("#.#########s");//输出格式化
System.out.println(fmt.format(result));
}

------解决方案--------------------
纳秒级的计时器没有什么太大的意义,计算机执行指令都是毫秒级的。
我们通常设计的程序,计时器最小精确的时间单位,一般都是秒级的。多数都是每天执行一次的任务。
当然了,JDK中有Timer的源码,已经有一个相对较好的实现了。
  相关解决方案