一、BigDecimal相关方法
1.BigDecimal.setScale(int newScale, RoundingMode roundingMode) 格式化小数点
setScale(1)表示保留一位小数,默认用四舍五入方式
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3
setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4
setScale(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍
注释:
(1).参数newScale:指的是你要保留的小数位数
(2).参数roundingMode是小数的保留模式。它们都是BigDecimal中的常量字段,有很多种。
比如:BigDecimal.ROUND_HALF_UP表示的就是4舍5入。
2.BigDecimal.scale():返回小数点后的位数。
例:BigDecimal b = new BigDecimal("123.456"); b.scale();--------------返回3
3.BigDecimal.divide(BigDecimal divisor, int scale, int roundingMode):除以
(1)BigDecimal对象除以divisor后的结果;
(2)这个结果保留有scale个小数位;
(3)roundingMode就是保留模式,如四舍五入等;
4.add、subtract、multiply:加,减,乘:
BigDecimal b1 = new BigDecimal("9.655");
BigDecimal b2 = new BigDecimal("5");
b1.add(b2); --------b1+b2 14.655
b1.subtract(b2); ----b1-b2 4.655
b1.multiply(b2); ----b1*b2 48.275
5.compareTo:比较
compareTo(BigDecimal.ZERO);----------和0比较: 返回0:=0; 返回-1:<0 返回1:>0