以小数点为单位的问题



我遇到了小数点的问题,我只想得到两个小数点,所以我使用了下面的代码

public class TestDateExample1 {
public static void main(String[] argv){
double d = 2.34568;
DecimalFormat f = new DecimalFormat("##.00");
System.out.println(f.format(d));
}
}

当我运行此代码时,输出为 2.35,但当小数点高于"5"时,我不需要任何增量,我需要像 2.34 这样的精确小数点。

您可以使用DecimalFormat#setRoundingMode来控制舍入的方式,并指定始终要向下舍入(截断(:

DecimalFormat f = new DecimalFormat("##.00");
f.setRoundingMode(RoundingMode.DOWN);
System.out.println(f.format(d));

DecimalFormat.setRoundingMode()需要设置为RoundingMode.FLOOR

最新更新