Java從入門到精通閱讀筆記(第4版)6

大數字運算

Java中提供了大數字的操作類,即java.math.BigInteger和java.math.BigDecimal類

BigInteger

public BigInteger(String val)

BigInteger twoInstance=new BigInteger("2");

將十進制的2轉化爲BigInteger形式
還有方法:
 1.add(); 大整數相加
   BigInteger a=new BigInteger(“23”);
   BigInteger b=new BigInteger(“34”);
   a.add(b);
 2.subtract(); 相減
 3.multiply(); 相乘
 4.divide();    相除取整
 5.remainder();取餘
 6.pow();   a.pow(b)=a^b
 7.gcd();   最大公約數
 8.abs(); 絕對值
 9.negate();取反數
 10.mod(); a.mod(b)=a%b=a.remainder(b);
 11.max(); min();
 12.punlic int comareTo();
 13.boolean equals(); 是否相等

BigDecimal

BigDecimal加入了小數點的概念。支持任何精度位數的定點數
常用方法爲
BigDecimal(double) 創建一個具有參數所指定雙精度值的對象。 
BigDecimal(String) 創建一個具有參數所指定以字符串表示的數值的對象。

常用方法
BigDecimal add(BigDecimal augend)//加法
BigDecimal subtract(BigDecimal subtrahend)//減法
BigDecimal  multiply(BigDecimal  multiplicand)//乘法
BigDecimal   divide(BigDecimal   divisor,int scale,int roundingMode)//除法,3個參數分別代表除數、商的小數點後的位數、近似處理模式


divide的多種處理模式
BigDecimal.ROUND_UP      //商的最後一位如果大於0,則向前進位,正負數都是如此
BigDecimal.ROUND_DOWN    //商的最後一位無論是什麼數字都省略
BigDecimal.ROUNG_CELING        //商如果是正數,按照ROUND_UP 模式處理;如果是負數按照ROUND_DOWN 模式處理,這樣模式的處理都會使近似值大於實際值
BigDecimal.ROUND_FLOOR          //與ROUNG_CELING模式相反。商如果是正數,按照ROUND_DOWN 模式處理;如果是負數,按照ROUND_UP模式處理,這樣模式的處理都會使近似值小於實際值
BigDecimal.ROUND_HALF_DOWN      //對商進行四捨五入操作;最後一位小於等於5,則做捨棄操作,最後一位大於5,則做進位操作  如 7.5≈7
BigDecimal.ROUND_HALF_UP        //對商進行四捨五入操作;最後一位小於5,則做捨棄操作,最後一位大於等於5,則做進位操作    如 7.5≈8
BigDecimal.ROUND_HALF_EVEN      //如果商的倒數第二位爲奇數,則按照ROUND_HALF_UP 處理;如果爲偶數,則按照ROUND_HALF_DOWN 處理     如7.5≈8,8.5≈8









發佈了0 篇原創文章 · 獲贊 5 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章