Java中的Bigdecimal類型

Java中的Bigdecimal類型運算

Java中的Bigdecimal類型運算

 

雙精度浮點型變量double可以處理16位有效數。在實際應用中,需要對更大或者更小的數進行運算和處理。Java在java.math包中提 供的API類BigDecimal,用來對超過16位有效位的數進行精確的運算。表5.7中列出了BigDecimal類的主要構造器和方法。

 

構造器  描 述 

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

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

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

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

 

 

方 法描 述 

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

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

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

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

toString()將BigDecimal對象的數值轉換成字符串。 

doubleValue()將BigDecimal對象中的值以雙精度數返回。 

floatValue()將BigDecimal對象中的值以單精度數返回。 

longValue()將BigDecimal對象中的值以長整數返回。 

intValue()將BigDecimal對象中的值以整數返回。 

 

注意,由於一般數值類型,例如double,不能準確地代表16位有效數以上的數字,在使用BigDecimal時,應用 BigDecimal(String)構造器創建對象纔有意義。另外,BigDecimal所創建的是對象,我們不能使用傳統的+、-、*、/等算術運算 符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。 

 

eg:

兩個BigDecimal  類型的數據相乘:

BigDecimal   a   =   new   BigDecimal(15124); 
         BigDecimal   b   =   new   BigDecimal(15124); 
         BigDecimal   c   =   a.multiply(b);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章