加法 a.add(b); 减法 a.subtract(b); 乘法 a.multiply(b); 除法 a.divide(b,需要精确到小数点以后几位,BigDecimal.ROUND_HALF_UP)
//* 保留位数、四舍五入 //1.直接去掉多余的位数 ROUND_DOWN BigDecimal a = new BigDecimal("1.234").setScale(2, BigDecimal.ROUND_DOWN); System.out.println(a);//1.23 //2.去掉多余的位数并进位 ROUND_UP BigDecimal b = new BigDecimal("1.234").setScale(2, BigDecimal.ROUND_UP); System.out.println(b);//1.24 //3.正数进位,负数舍位 ROUND_CEILING BigDecimal c = new BigDecimal("1.234").setScale(2, BigDecimal.ROUND_CEILING); System.out.println(c);//1.24 如果是正数,相当于BigDecimal.ROUND_UP BigDecimal d = new BigDecimal("-1.234").setScale(2, BigDecimal.ROUND_CEILING); System.out.println(d);//-1.23 如果是负数,相当于BigDecimal.ROUND_DOWN //4.正数舍位,负数进位 ROUND_FLOOR BigDecimal e = new BigDecimal("1.234").setScale(2, BigDecimal.ROUND_FLOOR); System.out.println(e);//1.23 如果是正数,相当于BigDecimal.ROUND_DOWN BigDecimal f = new BigDecimal("-1.234").setScale(2, BigDecimal.ROUND_FLOOR); System.out.println(f);//-1.24 如果是负数,相当于BigDecimal.ROUND_HALF_UP //5.四舍五入 (若舍弃部分>=.5,就进位)ROUND_HALF_UP BigDecimal g = new BigDecimal("1.225").setScale(2, BigDecimal.ROUND_HALF_UP); System.out.println(g); //1.23 //6.四舍五入(若舍弃部分>.5,就进位)ROUND_HALF_DOWN BigDecimal h = new BigDecimal("1.225").setScale(2, BigDecimal.ROUND_HALF_DOWN); System.out.println(h);//1.22 //7.ROUND_HALF_EVEN BigDecimal i = new BigDecimal("1.225").setScale(2, BigDecimal.ROUND_HALF_EVEN); System.out.println(i);//1.22 如果舍弃部分左边的数字为偶数,则作 ROUND_HALF_DOWN BigDecimal j = new BigDecimal("1.215").setScale(2, BigDecimal.ROUND_HALF_EVEN); System.out.println(j);//1.22 如果舍弃部分左边的数字为奇数,则作 ROUND_HALF_UP