Java常用类——BigInteger 类、BigDecimal 类

一、BigInteger 类

1、概述

  • 可以让超过 Integer 范围内的数据进行运算

2、构造方法

  • public BigInteger(String val)
package shuju;

import java.math.BigInteger;

public class BigIntegerDemo {
    public static void main(String[] args){
        Integer i1 = new Integer(100);
        System.out.println(i1);
        System.out.println(Integer.MAX_VALUE);

        Integer i2 = new Integer("2147483647");//如果这个数字超过int的范围就会报错
        System.out.println(i2);
        System.out.println("--------------------------");

        BigInteger i3 = new BigInteger("214748364744444444444444444444444444");//这个数字即使超过 int的范围也不会报错
        System.out.println(i3);
    }
}

3、成员方法

  • public BigInteger add(BigInteger val)//加
  • public BigInteger subtract(BigInteger val)//减
  • public BigInteger multiply(BigInteger val)//乘
  • public BigInteger divide(BigInteger val)//除
  • public BigInteger[] divideAndRemainder(BigInteger val)//返回商和余数的数组
package shuju;

import java.math.BigInteger;

public class BigIntegerDemo {
    public static void main(String[] args){
        BigInteger b1 = new BigInteger("200");
        BigInteger b2 = new BigInteger("100");
        System.out.println(b1.add(b2));//相加
        System.out.println(b1.subtract(b2));//相减
        System.out.println(b1.multiply(b2));//相乘
        System.out.println(b1.divide(b2));//相除
        System.out.println("------------------------------");

        BigInteger[] b3 = b1.divideAndRemainder(b2);//返回商和余数的数组
        System.out.println(b3[0]);
        System.out.println(b3[1]);
    }
}

二、BigDecimal 类

1、概述

  • BigDecimal 类能精确表示、计算浮点数(float 和 double 类型)
  • 不可变的、任意精度的有符号十进制数
package yunsuan;

public class BigDecimalDemo {
    public static void main(String[] args){
        System.out.println(0.09 + 0.01);
        System.out.println(1.0 - 0.32);
        System.out.println(1.015 * 100);
    }
}

结果显示:
在这里插入图片描述

2、构造方法

  • public BigDecimal(String val)

3、成员方法

  • public BigDecimal add(BigDecimal augend)

  • public BigDecimal subtract(BigDecimal subtrahend)

  • public BigDecimal multiply(BigDecimal multiplicand)

  • public BigDecimal divide(BigDecimal divisor)

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


package yunsuan;

import java.math.BigDecimal;

public class BigDecimalDemo {
    public static void main(String[] args){
        BigDecimal bd1 = new BigDecimal("0.09");
        BigDecimal bd2 = new BigDecimal("0.01");
        System.out.println(bd1.add(bd2));//相加
        System.out.println("-------------------");

        BigDecimal bd3 = new BigDecimal("1.0");
        BigDecimal bd4 = new BigDecimal("0.32");
        System.out.println(bd3.subtract(bd4));//相减
        System.out.println("========================");

        BigDecimal bd5 = new BigDecimal("1.015");
        BigDecimal bd6 = new BigDecimal("100");
        System.out.println(bd5.multiply(bd6));//相乘
        System.out.println("+++++++++++++++++++++++++++");

        BigDecimal bd7 = new BigDecimal("1.301");
        BigDecimal bd8 = new BigDecimal("100");
        System.out.println(bd7.divide(bd8));//相除
        System.out.println(bd7.divide(bd8, 3, BigDecimal.ROUND_HALF_UP));//需要三位小数
        System.out.println(bd7.divide(bd8, 8, BigDecimal.ROUND_HALF_UP));//需要八位小数
    }
}

猜你喜欢

转载自blog.csdn.net/weixin_43860260/article/details/91430394