龙空技术网

java BigDecimal 除法已经过时的处理

吴彬的分享 2858

前言:

目前姐妹们对“已阻止java因为它已过时并且需要更新”可能比较看重,朋友们都需要剖析一些“已阻止java因为它已过时并且需要更新”的相关知识。那么小编也在网上收集了一些对于“已阻止java因为它已过时并且需要更新””的相关文章,希望咱们能喜欢,同学们快快来了解一下吧!

最近在写程序的时候需要用到 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.divide(two, 4, BigDecimal.ROUND_DOWN);		//正确的写法是这样的		BigDecimal rightWay = one.divide(two, 4, RoundingMode.DOWN);	}}

在IDE中的展示效果如下:

区别

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

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

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

标签: #已阻止java因为它已过时并且需要更新