BigDecimal 认识你荣幸至极

1.创建BigDecimal对象

BigDecimal first= new BigDecimal(xxx); // xxx可以说整型数据,也可以是数字的字符串,但不可以是浮点型
BigDecimal second= new BigDecimal(123);
BigDecimal thirst= new BigDecimal("123.321");

2.比较大小-compareTo

BigDecimal first = new BigCecimal ("2.356");
BigDecimal second = new BigCecimal (2);
BigDecimal thirst = new BigCecimal ("0.23");
// compareTo返回的值,1:大于;0:等于;-1:小于
second.compareTo(first); // -1
second.compareTo(second); // 0
second.compareTo(thirst); // 1

3.加-add

BigDecimal first = new BigCecimal ("2.356");
BigDecimal second = new BigCecimal (2);
BigDecimal sumResult = first.add(second);

4.减-subtract

BigDecimal first = new BigCecimal ("2.356");
BigDecimal second = new BigCecimal (2);
BigDecimal subtractResult = first.subtract(second);

5.乘-multiply

BigDecimal first = new BigCecimal ("2.356");
BigDecimal second = new BigCecimal (2);
BigDecimal multiplyResult = first.multiply(second);

6.除-divide

BigDecimal first = new BigCecimal ("2.356");
BigDecimal second = new BigCecimal (2);
// 除会出现除不尽的情况,所以我们可以提前确定好精度标准和舍入策略
BigDecimal divideResult = first.divide(second,2,BigDecimal.ROUND_HALF_UP); // 方法参数依次是:除数,精度,舍入策略

 7.常用的舍入策略,以保留两位小数为例,

(1)向上取整-ROUND_UP

第三位小数只要大于 0, 就进 1

(2)向下取整-ROUND_DOWN

第三位小数直接舍去

(3)常规四舍五入-ROUND_HALF_UP

第三位小数 >= 5,进行四舍五入

(4)常规五舍六入-ROUND_HALF_DOWN

第三位小数 > 5,进行五舍六入

(5)此模式会增加数值大小-ROUND_CEILING

如果为正数等价于:ROUND_UP;为负数等价于:ROUND_DOWN

(6)此模式不会增加数值大小-ROUND_FLOOR

如果为正数等价于:ROUND_DOWN;为负数等价于:ROUND_UP
posted @ 2022-08-10 09:35  新生猿  阅读(37)  评论(0)    收藏  举报