开发者社区> 问答> 正文

关于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 2723 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

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

    2019-07-17 19:34:36
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载