BigDecimal加减乘除计算,累加问题
加法 add()函数 减法subtract()函数 乘法multiply()函数 除法divide()函数 绝对值abs()函数
累加错误代码:
BigDecimal totalAmount = new BigDecimal(0); totalAmount.add(new BigDecimal(5000)); System.out.println(totalAmount);
输出结果为0。
累加正确代码:
BigDecimal totalAmount = new BigDecimal(0); totalAmount = totalAmount.add(new BigDecimal("5000")); System.out.println(totalAmount);
除法函数定义:
BigDecimal.divide(BigDecimal divisor, int scale, RoundingMode roundingMode) ;
scale为小数位数;
roundingMode为小数模式;共八种舍入模式:
常量名 | 说明 |
CEILING | 向正无限大方向舍入。 |
DOWN | 向零方向舍入。 |
FLOOR | 向负无限大方向舍入。 |
HALF_DOWN | 向最接近数字方向舍入,如果与两个相邻数字的距离相等,则向下舍入。 |
HALF_EVEN | 向最接近数字方向舍入,如果与两个相邻数字的距离相等,则向相邻的偶数舍入。 |
HALF_UP | 向最接近数字方向舍入,如果与两个相邻数字的距离相等,则向上舍入。 |
UNNECESSARY | 断言具有精确结果。 |