我基本上尝试使用 DecimalFormat 来获取小数点后两位。我采用两个整数值,然后将它们相除并转换为我在下面放入示例值的 double 值。当我执行以下操作时,我得到的值不再是小数点后两位。似乎当乘以 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 返回 double )。
你可以这样做,例如:
System.out.println(df.format(d));
关于java - 乘以 DecimalFormat 数字(不再正确舍入),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34865176/