Java中BigDecimal的舍入模式解析(RoundingMode)
更新时间:2022年06月18日 11:37:57 作者:布客飞龙
这篇文章主要介绍了Java中BigDecimal的舍入模式解析(RoundingMode),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
BigDecimal的舍入模式(RoundingMode)
BigDecimal.divide方法中必须设置roundingMode,不然会报错。
ROUND_UP:向正无穷方向对齐(转换为正无穷方向最接近的所需数值)ROUND_DOWN:向负无穷方向对齐ROUND_CEILING:向原点的反方向对齐ROUND_FLOOR:向原点方向对齐ROUND_HALF_UP:“四舍五入”,如果舍弃部分的最高位大于等于 5,向正无穷方向对齐,否则向负无穷方向对齐ROUND_HALF_DOWN:“五舍六入”,如果舍弃部分的最高位大于 5,向正无穷方向对齐,否则向负无穷方向对齐ROUND_HALF_EVEN:“四舍六入五成双”,如果舍弃部分的最高位大于等于六,或等于五并且前一位是奇数,向正无穷方向对齐,否则向负无穷方向对齐ROUND_UNNECESSARY:如果需要舍入,就抛出算术异常
BigDecimal的常规用法
在java项目中一般来bigdecimal来进行 精度较高的金钱 运算 ,以及浮点数的运算。
Bigdecimal a =new Bigdecimal(1); Bigdecimal b =new Bigdecimal(1);
- 加法
a.add(b) - 减法
a.subtract(b) - 乘法
a.multiply(b) - 除法
a.divide(b)
在运用中可以进行小数点的格式化 运算。
BigDecimal.setScale()方法用于格式化小数点 setScale(1)表示保留一位小数,默认用四舍五入方式 setScale(1,BigDecimal.ROUND_DOWN)直接删除多余的小数位,如2.35会变成2.3 setScale(1,BigDecimal.ROUND_UP)进位处理,2.35变成2.4 setScale(1,BigDecimal.ROUND_HALF_UP)四舍五入,2.35变成2.4 setScaler(1,BigDecimal.ROUND_HALF_DOWN)四舍五入,2.35变成2.3,如果是5则向下舍 setScaler(1,BigDecimal.ROUND_CEILING)接近正无穷大的舍入 setScaler(1,BigDecimal.ROUND_FLOOR)接近负无穷大的舍入,数字>0和ROUND_UP作用一样,数字<0和ROU
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
基于Java+SpringBoot+Vue前后端分离实现仓库管理系统
这篇文章主要介绍了一个完整的仓库管理系统是基于Java+Springboot + Vue前后端分离编写的,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-06-06
springboot集成springsession如何实现分布式session共享
这篇文章主要介绍了springboot集成springsession如何实现分布式session共享问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-09-09
Spring+SpringMVC+MyBatis整合详细教程(SSM)
Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架。这篇文章主要介绍了Spring+SpringMVC+MyBatis整合详细教程(SSM),需要的朋友可以参考下2017-10-10
JAVA中的函数式接口Function和BiFunction详解
这篇文章主要介绍了JAVA中的函数式接口Function和BiFunction详解,JDK的函数式接口都加上了@FunctionalInterface注解进行标识,但是无论是否加上该注解只要接口中只有一个抽象方法,都是函数式接口,需要的朋友可以参考下2024-01-01
Java中的三种校验注解的使用(@Valid,@Validated和@PathVariable)
本文主要介绍了Java中的三种校验注解的使用(@Valid,@Validated和@PathVariable),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04
Spring中数据访问对象Data Access Object的介绍
今天小编就为大家分享一篇关于Spring中数据访问对象Data Access Object的介绍,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧2019-01-01


最新评论