天天看點

java.math.BigDecimal 加減乘除

方法的聲明:

public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)

參數解析:

divisor是除數,scale是精确度,roundingMode是結果的取值方式。

傳回值:

傳回的結果也是一個BigDecimal

BigDecimal a = new BigDecimal (10);

BigDecimal b = new BigDecimal (9);

BigDecimal c = new BigDecimal (8);

//注意:a、b、C均不能為null,否則會報空指針

//四個方法傳回的結果類型都為 BigDecimal,可以連續操作

//加法 add()

System.out.println(a.add(b));

//減法 subtract()

System.out.println(a.subtract(b));

//乘法 multiply()

System.out.println(a.multiply(b));

//除法 divide()

//使用除法時注意:

//1.需要設定結果的小數保留位數,防止存在除不盡的情況,如果在知道能夠除盡的前提下可以不設定

//2.除數不能為0

//3.以上兩種情況都會報 java.lang.ArithmeticException

int scale = 2; //2表示結果保留兩位小數

int roundingMode = 4; //4表示舍入方式為四舍五入,該參數取值範圍為[0-7],是BigDecimal類定義的8個靜态常量

System.out.println(a.divide(b, scale, roundingMode));//表示保留兩位小數,同時進行四舍五入

//綜合使用

System.out.println(a.add(b).subtract(c));//a + b - c

System.out.println(a.multiply(b).divide(c, scale, roundingMode));//a * b / c

System.out.println((a.add(c)).divide(b));//(a + c)/b