您的位置 首页 java

java BigDecimal 除法已经过时的处理

最近在写程序的时候需要用到 BigDecimal 按照以前的方式使用,发现 BigDecimal 的除法的方法已经过时了,应该是最近升级了 java 和 springboot 导致的,于是在网络上找找看怎么解决。网上找到的解决方法如下:

将BigDecimal.XXX改为RoundingMode.XXX

就这样一句话,错是没有错啦。但是这个看起来实在是不方便啊。于是我自己测试了下。完整版本的样例如下:

 import java.math.BigDecimal;
import java.math.RoundingMode;

public class BigDecimalTest {

public static  void  main(String[] args) {
BigDecimal one = new BigDecimal("99");
BigDecimal two = new BigDecimal("3");

//  这样的写法已经过时了,不赞成使用了
BigDecimal wrongWay = one.div IDE (two, 4, BigDecimal.ROUND_DOWN);

//正确的写法是这样的
BigDecimal rightWay = one.divide(two, 4, RoundingMode.DOWN);
}
}  

在IDE中的展示效果如下:

区别

注意,代码中是 one 除以 two ,保留4位小数,就是小数点后面保留4位。RoundingMode.DOWN 是舍掉后面的,还有其他的,比如进位,还有四舍五入什么的,根据自己的需要选择吧。

网络上查了下,相关资料比较少,这个影响也不大。

记录下,希望帮助到有需要的小伙伴。

文章来源:智云一二三科技

文章标题:java BigDecimal 除法已经过时的处理

文章地址:https://www.zhihuclub.com/190933.shtml

关于作者: 智云科技

热门文章

网站地图