java除法,保留多位小数

来源:互联网 发布:vb.net 判断excel 启动 编辑:程序博客网 时间:2024/04/30 13:41
double和float 乘法可能出现丢失精度,导致出现.9999999
所以要使用BigDecimal处理除法和乘法.
以下是两个整数相除并且转换成百分数:

BigDecimal v1 =newBigDecimal(145360896);
BigDecimal v2 =newBigDecimal(256235008);
BigDecimal v3 = (v1.divide(v2,3, RoundingMode.HALF_DOWN)).multiply(newBigDecimal("100")).setScale(1);
//divide(v2,3, RoundingMode.HALF_DOWN) 第二个参数时保留的小数位数,第三个参数是类型,如:四舍五入,去尾,进1等.

System.out.println(v3+"%");
原创粉丝点击