Java class --BigInteger common type, BigDecimal class

A, BigInteger class

1 Overview

  • It allows data to be within the range of more than Integer operations

2, the configuration method

  • 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, member methods

  • public BigInteger add(BigInteger val)//plus
  • public BigInteger subtract(BigInteger val)//Less
  • public BigInteger multiply(BigInteger val)// multiply
  • public BigInteger divide(BigInteger val)//except
  • public BigInteger[] divideAndRemainder(BigInteger val)// returns an array quotient and remainder
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]);
    }
}

Two, BigDecimal class

1 Overview

  • BigDecimal class can be accurately represented, floating-point number (float and double types)
  • Immutable, arbitrary-precision signed decimal numbers
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);
    }
}

The results show:
Here Insert Picture Description

2, the configuration method

  • public BigDecimal(String val)

3, member methods

  • 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));//需要八位小数
    }
}

Guess you like

Origin blog.csdn.net/weixin_43860260/article/details/91430394