11.BigDecimal类

BigDecimal类

  • 思考:以下程序输出结果是多少?

  • package BigDecmal;
    
    public class Test01 {
        public static void main(String[] args) {
            double d1 = 1.0;
            double d2 = 0.9;
            System.out.println(d1-d2);//0.09999999999999998
    //  面 试 题
            /*
            出现原因:很多实际应用中需要精确运算,
            而double是近似值存储,不再符合要求,
            需要借助BigDecimal。
             */
            double result = (1.4-0.5)/0.9;
            System.out.println(result);//0.9999999999999999
        }
    }
    
  • 位置:java.math包中。

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

  • 创建方式:

    BigDecimal bd = new BigDecimal("1.0");
    
  • package BigDecmal;
    
    import java.math.BigDecimal;
    
    public class Test01 {
        public static void main(String[] args) {
            // BigDecimal,大的浮点数精确计算
            BigDecimal bd1 = new BigDecimal("1.0");
            BigDecimal bd2 = new BigDecimal("0.9");
            // 减 法
            BigDecimal subtract = bd1.subtract(bd2);
            System.out.println(subtract);
            // 加 法
            BigDecimal add = bd1.add(bd2);
            System.out.println(add);
            // 乘 法
            BigDecimal multiply = bd1.multiply(bd2);
            System.out.println(multiply);
            //  除 法
            BigDecimal divide = new BigDecimal("1.4").subtract(new BigDecimal("0.5")).divide(new BigDecimal("0.9"));
            System.out.println(divide);
    
        }
    }
    
posted @ 2022-07-17 19:08  小白到大牛  阅读(25)  评论(0)    收藏  举报