当前位置:网站首页 > 更多 > 涨姿势 > 正文

[每日一学] java中Integer运算保留2位小数

作者:CC下载站 日期:2020-03-04 00:00:00 浏览:66 分类:涨姿势

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

如:

计算5除以6,保留2位小数

BigDecimalb=newBigDecimal((float)5/6);四舍五入保留2位
Doubleresult=b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue();如需保留3位

Doubleresult=b.setScale(3,BigDecimal.ROUND_HALF_UP).doubleValue();

2.第二种方法

DecimalFormatdf=newDecimalFormat("0.00");Doubleresult=df.format((float)5/6);如需保留3位


DecimalFormatdf=newDecimalFormat("0.000");Doubleresult=df.format((float)5/6);

3.第三种

Stringpercent=newBigDecimal((double)num*100/sum).setScale(2,BigDecimal.ROUND_HALF_UP)+"%";

4.第四种:

计算百分比

/**
*a/b计算百分比
*@parama
*@paramb
*@returneg:65.32%
*/
publicstaticStringADivideBPercent(BigDecimala,BigDecimalb){
Stringpercent=
b==null?"-":
b.compareTo(newBigDecimal(0))==0?"-":
a==null?"0.00%":
a.multiply(newBigDecimal(100)).divide(b,2,BigDecimal.ROUND_HALF_UP)+"%";
returnpercent;
}


您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯