java BigDecimal类型 加减乘除

	BigDecimal bignum1 = new BigDecimal("10");
	BigDecimal bignum2 = new BigDecimal("5");
	BigDecimal bignum3 = null;
	
	//加法
	bignum3 =  bignum1.add(bignum2); 	 
	System.out.println("和 是:" + bignum3);
	
	//减法
	bignum3 = bignum1.subtract(bignum2);
	System.out.println("差  是:" + bignum3);
	
	//乘法
	bignum3 = bignum1.multiply(bignum2);
	System.out.println("积  是:" + bignum3);
	
	//除法
	bignum3 = bignum1.divide(bignum2);
	System.out.println("商  是:" + bignum3);
	
	当bigdecimal除不尽(循环小数)后会报错,上面的是一种解决方法,下面的是BigDecimal ,divide方法提供的精确小数方法(推荐使用)
	b=b.divide(new BigDecimal(3),2,BigDecimal.ROUND_HALF_UP);  
	BigDecimal.setScale();//用于格式化小数点   
	setScale(1);//表示保留以为小数,默认用四舍五入方式   
	setScale(1,BigDecimal.ROUND_DOWN);//直接删除多余的小数位,如2.35会变成2.3   
	setScale(1,BigDecimal.ROUND_UP);//进位处理,2.35变成2.4   
	setScale(1,BigDecimal.ROUND_HALF_UP);//四舍五入,2.35变成2.4  
	setScaler(1,BigDecimal.ROUND_HALF_DOWN);//四舍五入,2.35变成2.3,如果是5则向下舍  

	/**
	 * 比较大小,大于返回1,等于返回0,小于返回-1
	 * 注意:compareTo方法比较时,不同于equals方法,需要两边都不为null,否则会报空指针异常,
	 */
		num1.compareTo(num2);

		/**
	 * 取最大值,取两个值的大值
	 */
		num1.max(num2);
	/**
	 * 取最小值,取两个值的小值
	 */
		num1.min(num2);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值