Javaクラス--BigInteger一般的なタイプ、BigDecimalクラス

、BigIntegerのクラス

1.概要

  • これは、データが複数の整数演算の範囲内であることができ

図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