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除不盡(循環小數)後會報錯,上面的是一種解決方法,下面的是BigDecimal ,divide方法提供的精確小數方法(推薦使用)
b=b.divide(new BigDecimal(3),2,BigDecimal.ROUND_HALF_UP);
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則向下舍
/**
* 比較大小,大於返回1,等於返回0,小於返回-1
* 注意:compareTo方法比較時,不同於equals方法,需要兩邊都不爲null,否則會報空指針異常,
*/
num1.compareTo(num2);
/**
* 取最大值,取兩個值的大值
*/
num1.max(num2);
/**
* 取最小值,取兩個值的小值
*/
num1.min(num2);
java BigDecimal類型 加減乘除
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.