开发者社区> 问答> 正文

BigDecimal 四舍五入结果不一致

BigDecimal number=new BigDecimal(18.9045613);
System.out.print("RoundingMode四舍五入: " + number.setScale(2,RoundingMode.UP) ); //18.91
System.out.print("BigDecimal四舍五入: " + number.setScale(2,BigDecimal.ROUND_HALF_UP) );//18.90

为什么这两种四舍五入获得的值不一样?

展开
收起
蛮大人123 2016-03-23 16:07:00 2353 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    public static final RoundingMode远离零方向舍入的舍入模式。始终对非零舍弃部分前面的数字加 1。注意,此舍入模式始终不会减少计算值的绝对值.

    2019-07-17 19:11:25
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载