我想在Java中打印 double 值而不使用指数形式。

double dexp = 12345678;
System.out.println("dexp: "+dexp);

它显示此E表示法:1.2345678E7

我希望它像这样打印它:12345678
防止这种情况的最佳方法是什么?

最佳答案

您可以将printf()%f结合使用:

double dexp = 12345678;
System.out.printf("dexp: %f\n", dexp);
这将打印dexp: 12345678.000000。如果您不想要小数部分,请使用
System.out.printf("dexp: %.0f\n", dexp);
%.0f中的0表示小数部分为0,即无小数部分。如果要打印具有期望的小数位数的小数部分,则只需提供像%.8f这样的数字即可,而不是0。默认情况下,小数部分最多打印6个小数位。
这使用documentation中解释的格式说明符语言。
原始代码中使用的默认toString()格式拼写为here

关于java - 使用Java如何在没有科学计数法的情况下打印 double 值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16098046/

10-11 16:37