大數值
基本文法:
如果基本的整數和浮點數精度不能滿足需求,那麼可以使用java.math包中的兩個很有用的類:BigInteger和BigDecimal實作了任意長度數字序列的數值.BigInteger類實作了任意精度的整數運算.BigDecimal實作了任意精度的浮點數運算.
使用靜态的valueOf方法可以将普通的數值轉換為大數值:
BigInteger a=BigInteger.valueOf(100);
不過需要注意的是大家日常熟悉的算術運算符(如:+和*)不能用于處理大數值.而需要使引用大資料類中的add和multiply方法.
BigInteger c= a.add(b); //c=a+b;
BigInteger d=c.multiply(b.add(BigInteger.valueOf(2))); //d=c*(b+2);
BigInteger和BigDecimal類提供的方法:
BigInteger add(BigInteger other) //加法
BigInteger subtract(BigInteger other) //減法
BigInteger multiply(BigInteger other) //乘法
BigInteger divide(BigInteger other) //除法
BigInteger mod(BigInteger other) //求餘
int compareTo(BigInteger other) //相等傳回0,小于傳回負數,大于傳回正數
static BigInteger valueOf(long x) //傳回值等于x的大整數