方法的声明:
public BigDecimal divide(BigDecimal divisor, int scale, int roundingMode)
参数解析:
divisor是除数,scale是精确度,roundingMode是结果的取值方式。
返回值:
返回的结果也是一个BigDecimal
其中,第三位参数为除法模式,分以下8种,可自传值,也可使用BigDecimal的枚举,都一样的,如下:
0 - ROUND_UP 远离0的方向
例:1.1->2 1.5->2 1.8->2 -1.1->-2 -1.5->-2 -1.8->-2
1 - ROUND_DOWN 向0的方向移动
例:1.1->1 1.5->1 1.8->1 -1.1->-1 -1.5->-1 -1.8>-1
2 - ROUND_CEILING 舍位时往正无穷方向移动
例:1.1->2 1.5->2 1.8->2 -1.1->-1 -1.5->-1 -1.8->-1
3 - ROUND_FLOOR 与CEILING相反,往负无穷
例:1.1->1 1.5->1 1.8->1 -1.1->-2 -1.5->-2 -1.8->-2
4 - ROUND_HALF_UP 最常见的四舍五入
5 - ROUND_HALF_DOWN 以5为分界线,或曰五舍六入
6 - ROUND_HALF_EVEN 同样以5为分界线,如果是5,则前一位变偶数1.15->1.2 1.16->1.2 1.25->1.2 1.26->1.3
7 - ROUND_UNNECESSARY 舍入模式可以断言所请求的操作具有精确的结果,因此不需要舍入。如果在产生不精确结果的操作上指定了这种舍入模式,则会抛出 {@code ArithmeticException}。
方法的声明:
原文链接:https://blog.csdn.net/sunkwa/article/details/100653501
原文链接:https://blog.csdn.net/w_monster/article/details/112008308