乘以 DecimalFormat 数字(不再正确四舍五入)

multiplying DecimalFormat number (no longer rounded properly)

我基本上是在尝试使用 DecimalFormat 来获得两位小数。我取两个整数值,然后将它们相除并转换为我在下面放入示例值的双精度值。当我执行以下操作时,我得到的值不再是小数点后两位。似乎是当乘以 3 时它失去了四舍五入。

DecimalFormat df = new DecimalFormat("#.00");
double d = Double.parseDouble(df.format((double)5/6))*3;
System.out.println(d);

你能告诉我为什么会发生这种情况以及如何解决这个问题吗?

在状态表中:

double d = Double.parseDouble(df.format((double)5/6))*3;

不保留格式(Double returns a double)。

你可以这样做,例如:

System.out.println(df.format(d));