Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有一种方法可以让Java打印一个数字中的所有小数位,而不是用科学记数法来显示?_Java - Fatal编程技术网

有没有一种方法可以让Java打印一个数字中的所有小数位,而不是用科学记数法来显示?

有没有一种方法可以让Java打印一个数字中的所有小数位,而不是用科学记数法来显示?,java,Java,我试图分析函数的内部,以查看哪些分配占用的时间最长。每个操作都非常小,因此我使用System.nanoTime()来收集所有经过的时间。由于这些时间非常小,Java用科学记数法打印出它们的数字,这很好,我宁愿看到完整的数字,这样我就可以快速比较一组数字,而不必来回查看它们的指数 代码设置: 代码输出: 如果可能的话,我希望输出如下所示: Time taken to allocate: 0.00057987 有点琐碎,但它会让我更容易快速解析 像这样的东西怎么样 System.out.print

我试图分析函数的内部,以查看哪些分配占用的时间最长。每个操作都非常小,因此我使用
System.nanoTime()
来收集所有经过的时间。由于这些时间非常小,Java用科学记数法打印出它们的数字,这很好,我宁愿看到完整的数字,这样我就可以快速比较一组数字,而不必来回查看它们的指数

代码设置: 代码输出: 如果可能的话,我希望输出如下所示:

Time taken to allocate: 0.00057987

有点琐碎,但它会让我更容易快速解析

像这样的东西怎么样

System.out.printf("Time to taken to allocate data: %.8f%n", 
                                   (System.nanoTime() - startTime) / 1E9);
将结果四舍五入到小数点后8位(应该足够了)


要了解差异,请执行以下操作:

double d = 5.7987E-4;
System.out.println("Time to taken to allocate data: " + d);
System.out.printf("Time to taken to allocate data: %.8f%n", d);
分配数据所需时间:5.7987E-4 分配数据所需的时间:0.00057987
对于计时代码,我的首选解决方案是SLF4J扩展提供的探查器类:

这是一个
双精度的
,而不是
长的
。您可以使用
String.format()
很好,但不能回答直接的问题。
System.out.printf("Time to taken to allocate data: %.8f%n", 
                                   (System.nanoTime() - startTime) / 1E9);
double d = 5.7987E-4;
System.out.println("Time to taken to allocate data: " + d);
System.out.printf("Time to taken to allocate data: %.8f%n", d);
Time to taken to allocate data: 5.7987E-4 Time to taken to allocate data: 0.00057987