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

时间:2016-01-18 22:23:15

标签: java numbers decimal decimalformat

我基本上试图使用DecimalFormat来获得两位小数。我正在取两个整数值,然后将它们分成两部分并将其转换为下面的样本值。当我这样做时,我得到的值不再是小数点后两位。它似乎是乘以3而失去它的四舍五入。

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

你能让我知道为什么会这样,以及如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

在statemet中:

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

格式化不会保留(Double返回一个double)。

你可以这样做,例如:

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