我想用Java打印一个没有指数形式的双值.
double dexp = 12345678;
System.out.println("dexp: "+dexp);
它显示了E符号:1.2345678E7
.
我想把它打印成这样:12345678
预防这种情况的最好方法是什么?
我想用Java打印一个没有指数形式的双值.
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.