java中Integer运算保留2位小数

转自https://blog.csdn.net/weixin_39800144/article/details/78278012

版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39800144/article/details/78278012

1.整数型运算时,结果会自动去除小数点后面的部分,如果需要适当的保留几位小数,需要转为fload类型,分子或者分母或者都转

如:

计算5除以6,保留2位小数
 
BigDecimal b = new BigDecimal((float)5/6);
 
四舍五入保留2位
Double result = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();
 
如需保留3位
 
Double result = b.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue();

2.第二种方法

DecimalFormat df = new DecimalFormat("0.00"); 
 
Double result = df.format((float)5/6);
 
如需保留3位
 
 
DecimalFormat df = new DecimalFormat("0.000"); 
 
Double result = df.format((float)5/6);

3.第三种

String percent = new BigDecimal((double)num*100/sum).setScale(2,BigDecimal.ROUND_HALF_UP)+"%";

4.第四种:

计算百分比

    /**
     * a / b   计算百分比
     * @param a
     * @param b
     * @return eg:65.32%
     */
    public static String ADivideBPercent(BigDecimal a,BigDecimal b){
        String percent =
            b == null ? "-" :
                    b.compareTo(new BigDecimal(0)) == 0 ? "-":
                        a == null ? "0.00%" :
                                a.multiply(new BigDecimal(100)).divide(b,2,BigDecimal.ROUND_HALF_UP) + "%";
        return percent;
    }

3.BigDecimal的其他运算可见:http://blog.csdn.net/weixin_39800144/article/details/77752364
————————————————
版权声明:本文为CSDN博主「IT云清」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_39800144/article/details/78278012

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值