天天看點

後端---java中的大數值BigInteger和BIgDecimal

大數值

基本文法:

如果基本的整數和浮點數精度不能滿足需求,那麼可以使用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的大整數

繼續閱讀