DecimalFormat格式话小数问题

DecimalFormat fnum = new DecimalFormat("#,##0.00");
System.out.println(fnum.format(12345.1));
输出:12,345.10 这是想要的结果,保留了两位小数位
System.out.println(fnum.format(1));
输出:1.00 想要的结果是,整数或者0的时候就直接输出,不要有小数位。不对这个结果数字处理,有没有直接的办法

这个需要自己处理一下,传入给format方法之前先判断一下是否为整数,如果为整数使用DecimalFormat("#,##0");

    double d = 12345.1;
    BigDecimal bigDecimal = new BigDecimal(d).setScale(2, RoundingMode.HALF_UP);
    System.out.println(bigDecimal);