加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – BigDecimal舍入问题

发布时间:2020-12-15 08:33:39 所属栏目:Java 来源:网络整理
导读:我希望能够将任何数字四舍五入到整数的四分之一. 例如: 100.33 - 100.50100.12 - 100.25100.66 - 100.75100.99 - 101.00100.70 - 100.75100.00 - 100.00100.25 - 100.25 等等… 谢谢你们…… 解决方法 这样做你需要的东西:它乘以4,向上舍入,然后再乘以4. S
我希望能够将任何数字四舍五入到整数的四分之一.

例如:

100.33 -> 100.50
100.12 -> 100.25
100.66 -> 100.75
100.99 -> 101.00
100.70 -> 100.75
100.00 -> 100.00
100.25 -> 100.25

等等…

谢谢你们……

解决方法

这样做你需要的东西:它乘以4,向上舍入,然后再乘以4.

String[] tests = {
        "100.33","100.12","100.66","100.99","100.70","100.00","100.25",};
    final BigDecimal FOUR = BigDecimal.valueOf(4);
    for (String test : tests) {
        BigDecimal d = new BigDecimal(test);
        d = d.multiply(FOUR).setScale(0,RoundingMode.UP)
             .divide(FOUR,2,RoundingMode.UNNECESSARY);
        System.out.println(d);
    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读