将双精度值舍入为 2 个小数位

Round double value to 2 decimal digits

我一直在处理大数字(超过 20 位数字),因此我使用 Double 。我得到数字的形式是这样的 8.653762536765E28。 我想要做的只是显示前两位小数。我想要它像 8.65E28

我试图找到有关格式化双精度值的信息,但我无法做到。我得到的结果是 86537...12312.00 。

对于这种情况,您认为什么是好的方法?如何只管理 E(基数)前面的数字而不是整个数字?

我认为这就是你想要实现的:

 double d = 8.653762536765E28;
 DecimalFormat df = new DecimalFormat("0.00E0");
 System.out.print(df.format(d));