天天看點

javaSE學習10_大數值

開發過程中肯定會經常遇到對于大資料的計算,Java本身的資料類型,最大的long和double很可能滿足不了需求,這個時候,就需要使用BigInteger或BigDecimal類。

BigInteger類的主要構造器和方法

構造器描述

         BigInteger(String) 建立一個具有參數所指定以字元串表示的數值的對象。

方法描述 

  BigInteger add(BigInteger other) BigInteger對象中的值相加,然後傳回這個對象。

  BigInteger subtract(BigInteger other) BigInteger對象中的值相減,然後傳回這個對象。

  BigInteger multiply(BigInteger other) BigInteger對象中的值相乘,然後傳回這個對象。

  BigInteger divide(BigInteger other) BigInteger對象中的值相除,然後傳回這個對象。

         BigInteger mod(BigInteger other) BigInteger對象中的值求餘,然後傳回這個對象。

         int compareTo(BigInteger other) 如果這個大整數與另一個大整數other相等,傳回0;這個大整數<other,傳回負 數;否則傳回正數

       static BigInteger valueOf(long x) 傳回值等于x的大整數

BigDecimal類的主要構造器和方法

構造器描述 

  BigDecimal(int) 建立一個具有參數所指定整數值的對象。 

  BigDecimal(double) 建立一個具有參數所指定雙精度值的對象。 

  BigDecimal(long) 建立一個具有參數所指定長整數值的對象。 

  BigDecimal(String) 建立一個具有參數所指定以字元串表示的數值的對象。 

方法描述 

  BigDecimal add(BigDecimal other) BigDecimal對象中的值相加,然後傳回這個對象。 

  BigDecimal subtract(BigDecimal other) BigDecimal對象中的值相減,然後傳回這個對象。 

  BigDecimal multiply(BigDecimal other) BigDecimal對象中的值相乘,然後傳回這個對象。 

  BigDecimal divide(BigDecimal other) BigDecimal對象中的值相除,然後傳回這個對象。

         BigDecimal divide(BigDecimal other,int roundingMode) BigDecimal對象中的值相除,然後傳回這個對象。 要想計算商,必需給出舍入方式(rounding mode)。RoundingMode.HALF_UP是四舍五入的方式。适用于正常的計算。其他舍入方式請參看RoundingMode的API文檔。

         int compareTo(BigInteger other) 如果這個大實數與另一個大實數other相等,傳回0;這個大實數<other,傳回負數;否則傳回正數

  double doublueValue() 将BigDecimal對象中的值以雙精度數傳回。 

  float floatValue() 将BigDecimal對象中的值以單精度數傳回。 

  long longValue() 将BigDecimal對象中的值以長整數傳回。 

  int intValue() 将BigDecimal對象中的值以整數傳回。

       static BigDecimal valueOf(long x) 傳回值為x的一個大實數

       static BigDecimal valueOf(long x,int sccale) 傳回值為x/10^scale的一個大實數

參考博文:http://blog.csdn.net/w627782664/article/details/7064243