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)
//pluspublic BigInteger subtract(BigInteger val)
//Lesspublic BigInteger multiply(BigInteger val)
// multiplypublic BigInteger divide(BigInteger val)
//exceptpublic 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:
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));//需要八位小数
}
}