专业的JAVA编程教程与资源

网站首页 > java教程 正文

java BigDecimal 除法已经过时的处理

temp10 2024-10-11 18:28:22 java教程 17 ℃ 0 评论

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

将BigDecimal.XXX改为RoundingMode.XXX

java BigDecimal 除法已经过时的处理

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

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.divide(two, 4, BigDecimal.ROUND_DOWN);

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

在IDE中的展示效果如下:

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

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

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

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表