最近在写程序的时候需要用到 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 是舍掉后面的,还有其他的,比如进位,还有四舍五入什么的,根据自己的需要选择吧。
网络上查了下,相关资料比较少,这个影响也不大。
记录下,希望帮助到有需要的小伙伴。