yhc19850706
yhc19850706
2015-12-02 03:06
采纳率: 25%
浏览 1.7k
已采纳

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


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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • a8761087
    GrowingDarker 2015-12-02 03:14
    已采纳

    上面的不是4舍5入。是无论值多少,都会进1.

    点赞 评论
  • u010199617
    钉子4lmy 2015-12-02 03:15
    点赞 评论
  • yhc19850706
    yhc19850706 2015-12-02 03:24

    UP public static final RoundingMode UP

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

    点赞 评论

相关推荐