一、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)
扫描二维码关注公众号,回复: 6495045 查看本文章
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));//需要八位小数
}
}