hello-friend 2018-07-23 02:31 采纳率: 100%
浏览 1270
已结题

double四舍五入问题 求解

BigDecimal decimal = new BigDecimal(0.005);
        BigDecimal decimal2 = new BigDecimal(0.015);

        DecimalFormat   df   =new   DecimalFormat("0.##");
        df.setRoundingMode(RoundingMode.HALF_UP);
        System.out.println(df.format(decimal.doubleValue()));
        System.out.println(df.format(decimal2.doubleValue())); 

输出的答案都是0.01 为什么,我希望第二个输入的是0.02

  • 写回答

6条回答 默认 最新

  • fuweihua123 2018-07-23 02:42
    关注

    new BigDecimal最好用string,你直接写数字的话,结果不是你想要的,
    这样:BigDecimal decimal2 = new BigDecimal("0.015");

    评论

报告相同问题?