1. 程式人生 > >BigDecimal的加減乘除即保留小數

BigDecimal的加減乘除即保留小數

加減乘除 

     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);

小數保留

通過setScale()方法

double   f   =   111231.5585; 

BigDecimal   b   =   new   BigDecimal(f); 

double   f1   =   b.setScale(2,   BigDecimal.ROUND_HALF_UP).doubleValue(); //保留2位小數

 

BigDecimal.setScale()方法用於格式化小數點

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

 

setScaler(1,BigDecimal.ROUND_HALF_DOWN)四捨五入,2.35變成2.3,如果是5則向下舍