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