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);
发布了13 篇原创文章 · 获赞 2 · 访问量 2471
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章