BigDecimal
加法 add()函数
乘法multiply()函数
除法divide()函数
绝对值abs()函数
减法subtract()函数
ROUND_CEILING //向正无穷方向舍入
ROUND_DOWN //向零方向舍入
ROUND_FLOOR //向负无穷方向舍入
ROUND_HALF_DOWN //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5
ROUND_HALF_EVEN //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP,如果是偶数,使用ROUND_HALF_DOWN
ROUND_HALF_UP //向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6
ROUND_UNNECESSARY //计算结果是精确的,不需要舍入模式
ROUND_UP//向远离0的方向舍入
![](https://img-blog.csdnimg.cn/20201228010616740.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N4ZG5fY3pq,size_16,color_FFFFFF,t_70)
注意:BigDecimal 构造方法方法里最好要用String类型
![](https://img-blog.csdnimg.cn/20201228141203682.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N4ZG5fY3pq,size_16,color_FFFFFF,t_70)
注意:除不尽的时候 就会报这个错误
![](https://img-blog.csdnimg.cn/20201228141640122.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N4ZG5fY3pq,size_16,color_FFFFFF,t_70)
注意事项: 不带四舍五入取整
![](https://img-blog.csdnimg.cn/20201228141847361.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N4ZG5fY3pq,size_16,color_FFFFFF,t_70)
注意事项: 这个用法是最好的带上保留的小数位,以及处理小数位的方式。
![](https://img-blog.csdnimg.cn/20201228142127606.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N4ZG5fY3pq,size_16,color_FFFFFF,t_70)
注意事项:除数不能为0
Bigdecimal 取反一直没有成功 没有复现暂时就不贴图了 //TODO
![](https://img-blog.csdnimg.cn/20201228145340584.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2N4ZG5fY3pq,size_16,color_FFFFFF,t_70)
操作不会改变原值,和java8 的Stream 类似