BigDecimal中divide方法详解

1、BigDecimal中的divide主要就是用来做除法的运算(本身调用改方法的 被除数)。其中有这么一个方法.

public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode) 

第一个参数是除数,第二个参数代表保留几位小数,第三个代表的是使用的模式。

BigDecimal.ROUND_DOWN:直接省略多余的小数,比如1.28如果保留1位小数,得到的就是1.2


BigDecimal.ROUND_UP:直接进位,比如1.21如果保留1位小数,得到的就是1.3


BigDecimal.ROUND_HALF_UP:四舍五入,2.35保留1位,变成2.4


BigDecimal.ROUND_HALF_DOWN:四舍五入,2.35保留1位,变成2.3

后边两种的区别就是如果保留的位数的后一位如果正好是5的时候,一个舍弃掉,一个进位。

2、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则向下舍

参考博客

猜你喜欢

转载自blog.csdn.net/qq_40166103/article/details/115701451