1.用途ide
在須要精確的小數計算時再使用BigDecimal,BigDecimal的性能比double和float差,在處理龐大,複雜的運算時尤其明顯。故通常精度的計算不必使用BigDecimal。性能
在項目中數據中字段爲number()類型,前臺進行轉換時須要使用BigDicimal進行接收轉換對象
2.BigDecimal用法ip
BigDecimal所建立的是對象,故咱們不能使用傳統的+、-、*、/等算術運算符直接對其對象進行數學運算,而必須調用其相對應的方法。方法中的參數也必須是BigDecimal的對象。構造器是類的特殊方法,專門用來建立對象,特別是帶有參數的對象。ci
multiply(BigDecimal) BigDecimal對象中的值相乘,而後返回這個對象。
divide(BigDecimal) BigDecimal對象中的值相除,而後返回這個對象。
toString() 將BigDecimal對象的數值轉換成字符串。
doubleValue() 將BigDecimal對象中的值以雙精度數返回。
floatValue() 將BigDecimal對象中的值以單精度數返回。
longValue() 將BigDecimal對象中的值以長整數返回。
intValue() 將BigDecimal對象中的值以整數返回
字符串
例子:對應實例和其結果數學
BigDecimal bigDecimal1 = new BigDecimal("1.22");float
BigDecimal bigDecimal2 = new BigDecimal(1.22);方法
System.out.println(bigDecimal1);// 1.22im
System.out.println(bigDecimal2);// 1.2199999999999999733546474089962430298328399658203125
System.out.println(bigDecimal1.doubleValue());// 1.22
System.out.println(bigDecimal2.doubleValue());// 1.22