1、加减乘除
//初始化
BigDecimal num1 = new BigDecimal("5");
BigDecimal num2 = new BigDecimal("5");
//加法
BigDecimal add = num1.add(num2);
//减法
BigDecimal subtract = num1.subtract(num2);
//乘法
BigDecimal multiply = num1.multiply(num2);
//除法- num1/num2, 保留小数点后两位, 四舍五入
BigDecimal divide = num1.divide(num2, 2,BigDecimal.ROUND_HALF_UP);
/*八种舍人方式:
* ROUND_UP: 入
* ROUND_DOWN: 舍
* ROUND_CEILING: 正数-入, 负数-舍
* ROUND_FLOOR: 正数-舍, 负数-入
* ROUND_HALF_UP: 四舍五入
* ROUND_HALF_DOWN: 五舍六入
* ROUND_HALF_EVEN: 四舍六入, 五的时候, 前一位是奇数-入, 前一位是偶数-舍
* ROUND_UNNECESSARY: 断言请求的操作具有精确的结果, 因此不需要舍入. 如果对获得精确结果的操作指定此舍入模式, 则抛出ArithmeticException.
* */
2、判断是否为0
//初始化
BigDecimal num1 = new BigDecimal("0.0");
BigDecimal num2 = new BigDecimal("0");
//判断大小和保留位数
System.out.println( num1.equals(BigDecimal.ZERO) ); // false
System.out.println( num2.equals(BigDecimal.ZERO) ); // true
//只判断大小
System.out.println( num1.compareTo(BigDecimal.ZERO) == 0 ); // true
3、String(百分比)转换成BIgDecimal类型
//String(百分比)转换成BIgDecimal类型
String percentage = "10%";
percentage = percentage.substring(0 , percentage.length()-1); //去掉%
double d = Double.valueOf(percentage);
BigDecimal b = BigDecimal.valueOf(d);