大數字運算
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(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