java学习日记20230408-BigInteger类和BigDecimal类
BigInteger适合保存比较大的整型
BigDecimal适合保存精度更高的浮点数
public class BigInteger01 {
public static void main(String[] args) {
//当编程中需要处理很大的整数,long不够用,可以使用bigInteger类
BigInteger bigInteger = new BigInteger("12312312313123213123123213");
BigInteger bigInteger1 = new BigInteger("1");
//BigInteger 的+-*/
System.out.println(bigInteger.add(bigInteger1));
System.out.println(bigInteger.subtract(bigInteger1));
System.out.println(bigInteger.multiply(bigInteger));
System.out.println(bigInteger.divide(bigInteger));
}
}
public class BigDecimal01 {
public static void main(String[] args) {
BigDecimal bigDecimal = new BigDecimal("13213.1231231231231237128973129873912739127391287");
System.out.println(bigDecimal);
BigDecimal bigDecimal1 = new BigDecimal("0.123422342342342");
//+-*/,除法可能抛出异常Non-terminating decimal expansion; no exact representable decimal result.
System.out.println(bigDecimal.add(bigDecimal1));
System.out.println(bigDecimal.subtract(bigDecimal1));
System.out.println(bigDecimal.multiply(bigDecimal1));
//调用divide方法时指定精度
System.out.println(bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING));
}
}