乘以 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));
我基本上是在尝试使用 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));