网站首页 > 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 是舍掉后面的,还有其他的,比如进位,还有四舍五入什么的,根据自己的需要选择吧。
网络上查了下,相关资料比较少,这个影响也不大。
记录下,希望帮助到有需要的小伙伴。
猜你喜欢
- 2024-10-11 Java的“异常”(JAVA的异常体系)
- 2024-10-11 第四讲《JAVA基础之运算符》,小妙招教你速记、速填坑
- 2024-10-11 容易让人忽视的,java高精度运算(java高精度转低精度的原则)
- 2024-10-11 提高千倍效率的 Java 代码小技巧(java提高班)
- 2024-10-11 一文搞明白java中的位运算、补码、反码、原码
- 2024-10-11 十五、Java运算符-赋值运算符与instanceof运算符
- 2024-10-11 一文掌握Java二、八、十六进制运算实现原理
- 2024-10-11 计算机进制转换(计算机进制转换教程)
- 2024-10-11 Java基础之try catch finally的原理
- 2024-10-11 LeetCode算法第29题:两数相除(计算两数相除并输出结果)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)