如何正确显示纳米二维到二次转换

chr*_*rds 4 java nanotime

我有一个BFS算法来解决8-Puzzle,其中一个项目要求是输出找到最浅层解决方案所需的时间.

我正在使用System.nanoTime()跟踪应用程序运行时间,因为它在一秒钟内解决了大部分给定的谜题.

我遇到的问题是,我将我的转换nanoTime为秒,它以一种奇怪的格式显示.

使用以下代码:

final long startTime = System.nanoTime();

//algorithm code removed for simplicity this all functions correctly


final long duration = System.nanoTime() - startTime;
final double seconds = ((double)duration / 1000000000);
System.out.println("Nano time total: " + duration);
System.out.println("solution Time : " + seconds + " Seconds");
Run Code Online (Sandbox Code Playgroud)

这会产生输出:

 Nano time total: 916110
 solution time : 9.1611E-4 Seconds 
Run Code Online (Sandbox Code Playgroud)

我也尝试使用浮点数来表示值.

是否有人能够提供更好的转换/显示方式,也许使用格式输出语句?

感谢您抽出宝贵时间阅读我的问题.

小智 9

我认为你需要:DecimalFormat

System.out.println("solution Time : " + new DecimalFormat("#.##########").format(seconds) + " Seconds");
Run Code Online (Sandbox Code Playgroud)


Ama*_*dan 5

System.out.format("solution Time : %f Seconds", seconds);
Run Code Online (Sandbox Code Playgroud)

对于经典的非指数浮点数.