05BigDecimal类

发布时间 2023-10-20 19:57:43作者: ahssmy

BigDecimal

  • BigDecimal是一个精度更高的一个类。

  • 位置:java.math包中。

  • 作用:精确计算浮点数。

  • 创建方式:BigDecimal bd = new BigDecimal("1.0");

  • 方法:

    • BigDecimal add(BigDecimal bd);
    • BigDecimal subtract(BigDecimal bd);
    • BigDecimal multiply(BigDecimal bd);
    • BigDecimal divide(BigDecimal bd);
      • divide(BigDecimal bd,int scal,RoundingMode mode)
      • scal参数:指定精确到小数点后几位
        • mode参数:指定小数部分的取舍模式,通常采用四舍五入的模式(BigDecimal.ROUND_HALF_UP)。

    案例:

    public static void main(String[] args) {
    		//BigDecimal大的浮点数精确计算
    		BigDecimal bd1 = new BigDecimal("1.0");
    		BigDecimal bd2 = new BigDecimal("0.9");
    		
    		//减法
    		BigDecimal r1 = bd1.subtract(bd2);
    		System.out.println(r1);
    		
    		//加法
    		BigDecimal r2 = bd1.add(bd2);
    		System.out.println(r2);
    		
    		//乘法
    		BigDecimal r3 = bd1.multiply(bd2);
    		System.out.println(r3);
    		
    		//除法
    		BigDecimal r4 = new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
    		System.out.println(r4);
    		
    		BigDecimal r5 = new BigDecimal("20").divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);//保留2位小数,四舍五入方式保留。
    		System.out.println(r5);
    	}
    	
    }
    

    运行结果:

    1