BigDecimal变量创建、比较、计算

创建一个BigDecimal变量:

BigDecimal a = new BigDecimal(1);
BigDecimal b = new BigDecimal(2);
BigDecimal c = new BigDecimal(1);

BigDecimal变量比较:

if(a.compareTo(b) == 1){//a与b比较, 结果为1表示a > b,为0表示 a = b,为-1表示a < b	
		a.compareTo(b) == 0 //false
		a.compareTo(c) == 0 //true
		a.compareTo(b) == -1 //true
}

BigDecimal变量计算:

a.add(b) 			 //3	加
a.subtract(c)		 //0	减
a.multiply(b) 		//2		乘
a.divide(b) 		//1/2 	除

BigDecimal高精度计算

BigDecimal a = new BigDecimal(60000);

BigDecimal b = new BigDecimal(30000);
BigDecimal c = new BigDecimal(20000);
BigDecimal d = new BigDecimal(10000);

BigDecimal e = new BigDecimal(3000);

BigDecimal f = b.divide(a, 8, 5);//计算相除后取8位小数
f.multiply(e).setScale(0, RoundingMode.DOWN);//相乘后取整,RoundingMode.DOWN直接取整,不做四舍五入,等同于截取

RoundingMode.DOWN直接取整,不做四舍五入,等同于截取
RoundingMode.HALF_UP:四舍五入,负数同样
RoundingMode.FLOOR:取左边最近的正数
RoundingMode.HALF_DOWN:五舍六入,负数先取绝对值再五舍六入再负数RoundingMode.HALF_EVEN:这个比较绕,整数位若是奇数则四舍五入,若是偶数则五舍六入
RoundingMode.CEILING:取右边最近的整数

你可能感兴趣的:(java)