BigInteger和BigDecimal
Biglnteger
适合保存比较大的整型
BiaDecima
l活合保存精度更高的浮点型小数)
一、BigInteger的常用方法
add
加
subtract
减
multiply
乘
divide
乘
package com.hspedu.bignum_;
import java.math.BigInteger;
/**
* @author DL5O
* @version 1.0
*/
public class BigInteger_ {
public static void main(String[] args) {
//当编程中,需要处理很大的数,long就不够用了
//可以使用BigInteger这个类来搞定
long l = 2345646546911L;
System.out.println("L=" + l);
BigInteger bigInteger = new BigInteger("23");
BigInteger bigInteger2 = new BigInteger("10");
System.out.println(bigInteger);
//1.在对BigInteger 进行加减乘除的时候,需要使用对应的方法,不能直接进行 + - * /
//2.可以创建一个要操作的BigInteger 然后进行相应操作,最后用一个BigInteger来接受
// BigInteger add = bigInteger.add(new BigInteger("10"));
BigInteger add = bigInteger.add(bigInteger2);
System.out.println(add);//加
BigInteger subtract = bigInteger.subtract(bigInteger2);
System.out.println(subtract);//减
BigInteger multiply = bigInteger.multiply(bigInteger2);
System.out.println(multiply);//乘
BigInteger divide = bigInteger.divide(bigInteger2);
System.out.println(divide);//除
}
}
二、BigDecimal的常用方法
add
加
subtract
减
multiply
乘
divide
乘
package com.hspedu.bignum_;
import java.math.BigDecimal;
/**
* @author DL5O
* @version 1.0
*/
public class BigDecimal_ {
public static void main(String[] args) {
//我们需要一个很高的精度的数,double 不够用,那么就使用BigDecimal
/* double d = 199.655645648657465d;
System.out.println(d);//199.65564564865747*/
BigDecimal bigDecimal = new BigDecimal("1999.111111999999999999999999999");
BigDecimal bigDecimal1 = new BigDecimal("1.1");
System.out.println(bigDecimal);
//老韩解读
//1.如果对 BigDecimal 进行运算也不能直接使用 +-*/,比如加减乘除
//2.创建一个需要操作的 BigDecimal 然后调用相应的方法即可
BigDecimal add = bigDecimal.add(bigDecimal1);
System.out.println(add);
BigDecimal subtract = bigDecimal.subtract(bigDecimal1);
System.out.println(subtract);
System.out.println(bigDecimal.multiply(bigDecimal1));
System.out.println(bigDecimal.divide(bigDecimal1,BigDecimal.ROUND_CEILING));
//可能抛出异常,可能会有小数点除不尽的情况,无限循环小数,ArithmeticException
//如何解决:在调用divide指定精度即可,如果有无限循环小数,就会保留 分子的精度
}
}