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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章