(转载)Bigdecimal加减乘除运算保留小数点及比大小

 

加减乘除转载至https://my.oschina.net/u/3771868/blog/1813954

加减乘除运算

  • 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加减乘除运算保留小数点及比大小

参数定义

ROUND_CEILING 
Rounding mode to round towards positive infinity. 
向正无穷方向舍入 

ROUND_DOWN 
Rounding mode to round towards zero. 
向零方向舍入 

ROUND_FLOOR 
Rounding mode to round towards negative infinity. 
向负无穷方向舍入 

ROUND_HALF_DOWN 
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round down. 
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5 

ROUND_HALF_EVEN 
Rounding mode to round towards the "nearest neighbor" unless both neighbors are equidistant, in which case, round towards the even neighbor. 
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN 


ROUND_HALF_UP 
Rounding mode to round towards "nearest neighbor" unless both neighbors are equidistant, in which case round up. 
向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6 


ROUND_UNNECESSARY 
Rounding mode to assert that the requested operation has an exact result, hence no rounding is necessary. 
计算结果是精确的,不需要舍入模式 


ROUND_UP 
Rounding mode to round away from zero. 
向远离0的方向舍入

 

比大小转载至https://www.cnblogs.com/fly-book/p/10990839.html

//前提为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");
}

 

至此

希望有帮助

谢谢!!!

 

2021-02-26 17:00:21

上一篇:BigDecimal类


下一篇:String转double类型会造成精度丢失