Java常用api_ BigDecimal的基本運算

Java常用api_ BigDecimal的基本運算

構造方法

 BigDecimal bgInt = new BigDecimal(int i);
 BigDecimal bgDouble = new BigDecimal(double d);//不建議會存在精度丟失問題,若必須建議轉String。
 BigDecimal bgStr = new BigDecimal(String str);

加減乘除

注意:BigDecimal參數 進行運算時只能對BigDecimal 參數運行

		BigDecimal a = new BigDecimal("2.3");
        BigDecimal b = new BigDecimal("3.2");
    加:   System.out.println("a + b =" + a.add(b));
    減:   System.out.println("a - b =" + a.subtract(b));
    乘:   System.out.println("a * b =" + a.multiply(b));
    除:    System.out.println("a / b =" + a.divide(b));
    除法可以傳三個參數,僅傳一個參數時若除不盡則會報錯
	 a.divide(BigDecimal a.b, int scale, int roundingMode)
	 第一參數表示除數, 
	 第二個參數表示小數點後保留位數,
	 第三個參數表示舍入模式,只有在作除法運算或四捨五入時纔用到舍入模式,
	 第三個參數這裏我們可以用到java.math.RoundingMode 幾個參數。
	
RoundingMode.CEILING:取右邊最近的整數

RoundingMode.DOWN:去掉小數部分取整,也就是正數取左邊,負數取右邊,相當於向原點靠近的方向取整

RoundingMode.FLOOR:取左邊最近的正數

RoundingMode.HALF_DOWN:五舍六入,負數先取絕對值再五舍六入再負數

RoundingMode.HALF_UP:四捨五入,負數原理同上

RoundingMode.HALF_EVEN:這個比較繞,整數位若是奇數則四捨五入,若是偶數則五舍六入

       System.out.println("a / b =" + a.divide(b,3,RoundingMode.HALF_UP));
       控制檯打印結果,表示a/b保留三位小數,舍入方式爲四捨五入
     a / b =0.719

取餘

	BigDecimal a = new BigDecimal("5");
    BigDecimal b = new BigDecimal("3");
	BigDecimal[] bigs=a.divideAndRemainder(b);
	System.out.println("商"+bigs[0]);//商
    System.out.println("餘數"+bigs[1]);//餘數
    //控制檯輸出結果
    商1
	餘數2

a.divideAndRemainder(b);方法接收另一個BigDecimal 對象作爲參數,該參數即爲除數,返回一個BigDecimal數組,返回數組中包含兩個元素,第一個元素爲兩數相除的商,第二個元素爲餘數。

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