1、简单加减乘除
BigDecimal a = new BigDecimal(10); BigDecimal b = new BigDecimal(15); BigDecimal add = a.add(b); System.out.println("a+b="+add); BigDecimal subtract = b.subtract(a); System.out.println("b-a="+subtract); BigDecimal multiply = b.multiply(a); System.out.println("b*a="+multiply); BigDecimal divide = b.divide(a); System.out.println("b/a="+divide);
2、小数取值
ROUND_UP:正数时,舍弃小数后(整数部分)加1,比如12.49结果为13。负数时,舍弃小数后(整数部分)减去1,-12.49结果为 -13 ROUND_DOWN:直接舍弃小数 ROUND_CEILING:如果 BigDecimal 是正的,则做 ROUND_UP 操作;如果为负,则做 ROUND_DOWN 操作 (取附近较大的整数) ROUND_FLOOR: 如果 BigDecimal 是正的,则做 ROUND_DOWN 操作;如果为负,则做 ROUND_UP 操作(取附近较小的整数) ROUND_HALF_UP:四舍五入(取更近的整数) ROUND_HALF_DOWN:同ROUND_HALF_UP 差别仅在于0.5时会向下取整 ROUND_HALF_EVEN:取最近的偶数 ROUND_UNNECESSARY:不需要取整,如果存在小数位,就抛ArithmeticException 异常
BigDecimal a = new BigDecimal(2.4); BigDecimal b = new BigDecimal(3.8); BigDecimal multiply = a.multiply(b); BigDecimal multiply1 = a.multiply(b).setScale(2,BigDecimal.ROUND_HALF_UP); System.out.println(multiply); System.out.println("乘法保留两位小数"+multiply1); BigDecimal c = new BigDecimal(10); BigDecimal d = new BigDecimal(3); BigDecimal divide = c.divide(d, 2, BigDecimal.ROUND_UP); System.out.println("除法保留两位小数"+divide);文章来源地址https://www.toymoban.com/news/detail-427673.html
3、比较大小
int flag = a.compareTo(b) flag = -1,表示a小于b; flag = 0,表示a等于b; flag = 1,表示a大于b; BigDecimal a = new BigDecimal(0); BigDecimal b = new BigDecimal(1); BigDecimal c = new BigDecimal(-1); System.out.println("判断是否大于0:"+(b.compareTo(a) > 0?"是":"否")); System.out.println("判断是否大于0:"+(c.compareTo(a) > 0?"是":"否"));
4、求余数
BigDecimal amt = new BigDecimal(11); BigDecimal[] results = amt.divideAndRemainder(BigDecimal.valueOf(2)); System.out.println("商为:"+results[0]); System.out.println("余数为:"+results[1]);
文章来源:https://www.toymoban.com/news/detail-427673.html
到了这里,关于BigDecimal常用计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!