BigDecimal 除法 divide方法参数,各参数作用,详细~「建议收藏」

(42) 2023-06-20 20:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说BigDecimal 除法 divide方法参数,各参数作用,详细~「建议收藏」,希望能够帮助你!!!。

BigDecimal 多参自定义除法

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

    public static void main(String[] args){ 
   
        BigDecimal b1 = new BigDecimal(10.005);
        BigDecimal b2 = new BigDecimal(2);
        //参数1 为除数
        //scale 为计算所得商的位数
        //roundingMode 共8种0,1,2 ,3,4,5,6,7
        System.out.println(b1.divide(b2, 3, BigDecimal.ROUND_UNNECESSARY));
    }

其中,第三位参数为除法模式,分以下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}。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复