开发者社区 问答 正文

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 2514 分享 版权
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

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

    2019-07-17 19:11:25
    赞同 展开评论
问答地址: