BigDecimal的加减乘除取整及比较大小

BigDecimal的加减乘除

加法:add

减法:subtract

乘法:multiply

除法:divide

 

可参考下面代码:

BigDecimal bignum1 = new BigDecimal("10");
BigDecimal bignum2 = new BigDecimal("5");
BigDecimal bignum3 = null;

//加法
bignum3 = bignum1.add(bignum2);
System.out.println("求和:" + bignum3);

//减法
bignum3 = bignum1.subtract(bignum2);
System.out.println("求差:" + bignum3);

//乘法
bignum3 = bignum1.multiply(bignum2);
System.out.println("乘法积:" + bignum3);

//除法
bignum3 = bignum1.divide(bignum2);
System.out.println("除法结果:" + bignum3); 

//取整
BigDecimal bd = new BigDecimal(“12.1”);
long l = bd.setScale( 0, BigDecimal.ROUND_UP ).longValue(); // 向上取整
long l = bd.setScale( 0, BigDecimal.ROUND_DOWN ).longValue(); // 向下取整

 

BigDecimal比较大小

//前提为a、b均不能为null
if(a.compareTo(b) == -1){
    System.out.println("a小于b");
}
 
if(a.compareTo(b) == 0){
    System.out.println("a等于b");
}
 
if(a.compareTo(b) == 1){
    System.out.println("a大于b");
}
 
if(a.compareTo(b) > -1){
    System.out.println("a大于等于b");
}
 
if(a.compareTo(b) < 1){
    System.out.println("a小于等于b");
}

if(a.compareTo(b) > 0){

    System.out.println("a大于b");
 }

BigDecimal 如果非null, 则取值;如果是null, 则取 0

BigDecimal b;

Optional.ofNullable(b).orElse(BigDecimal.ZERO);
posted @ 2022-02-21 14:39  chelsey3tsf  阅读(538)  评论(0)    收藏  举报