JAVA常用类之——BigInteger和BigDecimal

JAVA常用类之——BigInteger和BigDecimal

    1. 先来看BigInteger,它用来进行超过Integer范围的数据的操作,进行如下测试:     
public static void main(String[] args)
	{
		//1. 获得Integer的最大值
		//   可以看到Integer的范围是-2^32 - 2^32-1
		System.out.println(Integer.MAX_VALUE);
		Integer i  = new Integer(2147483647);
		//Integer不能解决超过最大值的运算操作,编译都不会通过
		//Integer ii = new Integer(2147483648);
		
		//2. 下面这种方法说明Integer的最大值是2147483647
		//   再加+1后该数溢出变为-2147483648
		Integer ii = new Integer(2147483647+1);
		System.out.println(ii);
		
		//3. 采用BigInteger可以获得超过Integer范围的数的操作
		BigInteger iii = new BigInteger("21474836488888");
		System.out.println(iii);		
	}

    对BigInteger进行加减乘除操作如下所示:    
	public static void main(String[] args)
	{
		//1. 创建两个大数对像
		BigInteger bi1 = new BigInteger("2147483648");
		BigInteger bi2 = new BigInteger("214748364888888888888888");
		
		//2. 测试加法
		System.out.println(bi1.add(bi2));
		
		//3. 测试减法
		System.out.println(bi1.subtract(bi2));
		
		//4. 测试乘法
		System.out.println(bi1.multiply(bi2));
		
		//5. 测试除法
		System.out.println(bi2.divide(bi1));
		
		//6. 测试valueof方法
		System.out.println(BigInteger.valueOf(21474836488888888L));
	
	}

    2. 再来看看BigDecimal
    BigDecimal是解决float和double的精度丢失而出现的。

    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值