Java中BigDecimal的使用技巧

1、当 value 的值的类型为 int 时,new BigDecimal(value) 和 BigDecimal.valueOf(value) 的区别

根据 BigDecimal 类的源码可以看出,new BigDecimal(value) 是先创建一个  BigDecimal 类的对象,然后对 BigDecimal 类的成员变量进行赋值;而 BigDecimal.valueOf(value) 则会先判断能否取缓存中的 BigDecimal 对象,如果 value 的值比较大再去创建 BigDecimal 的对象,以达到重用的目的。

 

2、两个 BigDecimal 类的对象相除,获取整形结果

通过设置要精确的小数位数(第二个参数 scale)、舍入模式(第三个参数)实现:

1 value1.divide(value2, 0, BigDecimal.ROUND_DOWN).intValue();

 

posted @ 2022-01-12 09:47  Qi-BJ  阅读(353)  评论(0编辑  收藏  举报