BigDecimal的使用


BigDecimal

  • 位置:java.math包中。
  • 作用:精确计算浮点数。
  • 创建方式:BigDemical bd = new BigDecimal("1.0");
public static void main(String[] args) {
        //面试题
        double result = (1.4-0.5)/0.9;
        System.out.println(result);

        //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("10")
                .divide(new BigDecimal("3"),2,BigDecimal.ROUND_HALF_UP);
        System.out.println(r5);
    }
  • 方法
    • BigDecimal add(BigDecimal bd) 加
    • BigDecimal subtract(BigDecimal bd) 减
    • BigDecimal multiply(BigDecimal bd) 乘
    • BigDecimal divide(BigDecimal bd) 除
  • 利用BigDecimal可以进行数字运算。
  • 除法:divide(BigDecimal bd, int scal, RoundingMode mode)
  • 参数scal:指定精确到小数点后几位。
  • 参数mode:
    • 指定小数部分的取舍模式,通常采用四舍五入的模式。
    • 取值为BigDecimal.ROUND_HALF_UP。