我基本上试图使用DecimalFormat来获得两位小数。我正在取两个整数值,然后将它们分成两部分并将其转换为下面的样本值。当我这样做时,我得到的值不再是小数点后两位。它似乎是乘以3而失去它的四舍五入。
DecimalFormat df = new DecimalFormat("#.00");
double d = Double.parseDouble(df.format((double)5/6))*3;
System.out.println(d);
你能让我知道为什么会这样,以及如何解决这个问题?
答案 0 :(得分:1)
在statemet中:
double d = Double.parseDouble(df.format((double)5/6))*3;
格式化不会保留(Double返回一个double)。
你可以这样做,例如:
System.out.println(df.format(d));