开发者社区 问答 正文

关于Java的BigDecimal类处理小数点的问题

double C = a + b + c;
return new BigDecimal(C).setScale(2, BigDecimal.ROUND_HALF_UP);
上面这个输出结果没问题。但是如果不创建C,直接
return new BigDecimal(a+b+c).setScale(2, BigDecimal.ROUND_HALF_UP);
这样输出的结果就不对了。为什么?

展开
收起
蛮大人123 2016-06-12 16:58:40 2816 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    关键看a b c是什么类型的
    试试看return new BigDecimal((double)(a+b+c)).setScale(2, BigDecimal.ROUND_HALF_UP);

    2019-07-17 19:34:36
    赞同 展开评论