Java大數字運算(BigInteger類和BigDecim
發布于:2019-04-16   作者:admin   瀏覽:10次

  在Java中提供了用于大數字運算的類,即java.math.BigInteger類和java.math.BigDecimal類。這兩個類用于高精度計算,其中BigInteger類是針對整型大數字的處理類,而BigDecimal類是針對大小數的處理類。it培訓的小編就為大家介紹一下吧。

Java大數字運算(BigInteger類和BigDecimal類)

  BigInteger類

  如果要存儲比Integer更大的數字,Integer數據類型就無能為力了。因此,Java中提供BigInteger類來處理更大的數字。

  BigInteger類型的數字范圍較Integer類型的數字范圍要大得多。BigInteger支持任意精度的整數,也就是說在運算中BigInteger類型可以準確地表示任何大小的整數值。

  除了基本的加、減、乘、除操作之外,BigInteger類還封裝了很多操作,像求絕對值、相反數、最大公約數以及判斷是否為質數等。

  要使用BigInteger類,首先要創建一個BigInteger對象。BigInteger類提供了很多種構造方法,其中最直接的一種是參數以字符串形式代表要處理的數字。這個方法語法格式如下:

  BigInteger(Stringval)

  這里的val是數字十進制的字符串。例如,要將數字5轉換為BigInteger對象,語句如下:

  BigIntegerbi=newBigInteger("5")

  注意:這里數字5的雙引號是必需的,因為BigInteger類構造方法要求參數是字符串類型。

  BigDecimal類

  BigInteger和BigDecimal都能實現大數字的運算,不同的是BigDecimal加入了小數的概念。一般的float和double類型數據只能用來做科學計算或工程計算,但由于在商業計算中要求數字精度比較高,所以要用到BigDecimal類。BigDecimal類支持任何精度的浮點數,可以用來精確計算貨幣值。

  BigDecimal常用的構造方法如下。

  BigDecimal(doubleval):實例化時將雙精度型轉換為BigDecimal類型。

  BigDecimal(Stringval):實例化時將字符串形式轉換為BigDecimal類型。

  BigDecimal類的方法可以用來做超大浮點數的運算,像加、減、乘和除等。在所有運算中,除法運算是最復雜的,因為在除不盡的情況下,末位小數的處理方式是需要考慮的。

  下面列出了BigDecimal類用于實現加、減、乘和除運算的方法。

  BigDecimaladd(BigDecimalaugend)//加法操作

  BigDecimalsubtract(BigDecimalsubtrahend)//減法操作

  BigDecimalmultiply(BigDecimalmultiplieand)//乘法操作

  BigDecimaldivide(BigDecimaldivisor,intscale,introundingMode)//除法操作

  其中,divide()方法的3個參數分別表示除數、商的小數點后的位數和近似值處理模式。