前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java中Integer运算保留2位小数

java中Integer运算保留2位小数

作者头像
IT云清
发布2019-01-22 09:36:58
4.9K0
发布2019-01-22 09:36:58
举报
文章被收录于专栏:IT云清

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

如:

代码语言:javascript
复制
计算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.第二种方法

代码语言:javascript
复制
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.第三种

代码语言:javascript
复制
String percent = new BigDecimal((double)num*100/sum).setScale(2,BigDecimal.ROUND_HALF_UP)+"%";

4.第四种:

计算百分比

代码语言:javascript
复制
    /**
     * 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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017年10月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档