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 断言具有精确结果。

 

posted @ 2021-04-25 17:09  Ning-  阅读(859)  评论(0编辑  收藏  举报