1、BigInteger (大的整数)
引用的包类:java.math.BigInteger:不可变(不会产生一个新的对象)的任意精度(这个数可以很大)的有符号(十进制数)是十进制数。
BigInteger 构造方法:
BigInteger (String val):将十进制字符串val转换为BigInteger对象。
BigInteger (String val,int radix):按照指定基数radix将字符串val转换为BigInteger对象。
BigInteger 提供多种方法,下面例举几个常用的方法:
int compareTo(BigInteger val):将当前对象与参数val进行比较,方法返回值是int,如果返回值是0.
则相等;如果返回值小于0.则此对象小姨参数对象;如果返回值大于0.则此对象大于参数对象。
BigInteger add(BigInteger val):加运算,当前对象数值加参数val.
BigInteger subtract(BigInteger val):减运算,当前对象数值减参数val.
BigInteger multract(BigInteger val):乘运算,当前对象数值乘以参数val.
BigInteger divide(BigInteger val):除运算,当前对象数值除以参数val.
代码如下:
import java.math.BigInteger
public class BigInteger {
public static void main(String[] args) {
//创建BigInteger,字符串表示10进制数值
BigInteger number1= new BigInteger("999999999999");
//创建BigInteger,字符串表示16进制数值
BigInteger number2= new BigInteger("567800000",16);
//加法操作
System.out.println("加法操作:"+number1.add(number2));
//减法操作
System.out.println("减法操作:"+number1.subtract(number2));
//乘法操作
System.out.println("乘法操作:"+number1.multiply(number2));
//除法操作
System.out.println("除法操作:"+number1.divide(number2));
2、BigDecimal
BigDecimal构造方法有很多:
BigDecimal(BigInteger val):将BigInteger对象val转换为BigDecimal对象。
BigDecimal(double val):将double转换为BigDecimal对象,参数val是double类型的二进制浮点值准确的十进制表示形态。
BigDecimal提供多种方法,下面例举几个常用的方法:
int compareTo(BigDecimal val):将当前对象与参数val进行比较,方法返回值是int,如果返回值是0.
则相等;如果返回值小于0.则此对象小姨参数对象;如果返回值大于0.则此对象大于参数对象。
BigDecimal add(BigDecimal val):加运算,当前对象数值加参数val.
BigDecimal subtract(BigDecimal val):减运算,当前对象数值减参数val.
BigDecimal multract(BigDecimal val):乘运算,当前对象数值乘以参数val.
BigDecimal divide(BigDecimal val):除运算,当前对象数值除以参数val.
BigDecimal divide(BigDecimal val,int roundingMode):除运算,当前对象数值除以参数val,.roundingMode要应用的舍入模式。
import java.math.BigDecimal;
public class BigDecimal {
public static void main(String[] args) {
//创建BigDecimal,通过字符参数串创建
BigDecimal number1= new BigDecimal("999999999999,99988888");
//创建BigDecimal,通过double参数穿件
BigDecimal number2= new BigDecimal(567800000.8888888);
//加法操作
System.out.println("加法操作:"+number1.add(number2));
//减法操作
System.out.println("减法操作:"+number1.subtract(number2));
//乘法操作
System.out.println("乘法操作:"+number1.multiply(number2));
//除法操作
System.out.println("除法操作:"+number1.divide(number2,BigDecimal.ROUND_HALF_UP));
}