溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

BigDecimal類(lèi)中的add()怎么在Java中使用

發(fā)布時(shí)間:2021-01-25 15:31:52 來(lái)源:億速云 閱讀:233 作者:Leah 欄目:開(kāi)發(fā)技術(shù)

BigDecimal類(lèi)中的add()怎么在Java中使用?相信很多沒(méi)有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。

Java中的BigDecimal類(lèi)的使用:

使用Java中的BigDecimal可以進(jìn)行精確的計(jì)算,但是在使用BigDecimal時(shí)我們需要注意它的add()方法,使用它自身的add( )方法并不會(huì)改變它原始的值,因?yàn)槌跏蓟疊igDecimal是創(chuàng)建一個(gè)了個(gè)對(duì)象,使用add()方法時(shí)也等于是創(chuàng)建了一個(gè)對(duì)象,若要保存這個(gè)對(duì)象需要再創(chuàng)建一個(gè)對(duì)象。

句法:

 public BigDecimal add(BigDecimal val);
 public BigDecimal add(BigDecimal val, MathContext ma_co);

add() method is available in java.math package.

add()方法在java.math包中可用。

add(BigDecimal val) method is used to get a BigDecimal that holds the value added this BigDecimal with the given BigDecimal and its scale is calculated by using max([this BigDecimal.scale()] , [BigDecimal val.scale()]).

add(BigDecimal val)方法用于獲取一個(gè)BigDecimal,該BigDecimal保留使用給定BigDecimal與該BigDecimal相加的值,并使用max([thisBigDecimal.scale()],[BigDecimal val.scale()])計(jì)算其小數(shù)位數(shù)。

add(BigDecimal val, MathContext ma_co) method is used to get a BigDecimal that holds the value-added this BigDecimal with the given BigDecimal based on the given MathContext settings.

add(BigDecimal val,MathContext ma_co)方法用于獲取BigDecimal,該BigDecimal包含基于給定MathContext設(shè)置的給定BigDecimal與該BigDecimal的增值。

These methods may throw an exception at the time of adding an object.

這些方法在添加對(duì)象時(shí)可能會(huì)引發(fā)異常。

ArithmeticException: This exception may throw when the result is not accurate and set the rounding mode "UNNECESSARY".

ArithmeticException :當(dāng)結(jié)果不正確并且將舍入模式設(shè)置為“ UNNECESSARY”時(shí),可能會(huì)引發(fā)此異常。

These are non-static methods and it is accessible with class objects and if we try to access these methods with the class name then we will get an error.

這些是非靜態(tài)方法,可通過(guò)類(lèi)對(duì)象訪(fǎng)問(wèn),如果嘗試使用類(lèi)名訪(fǎng)問(wèn)這些方法,則會(huì)收到錯(cuò)誤消息。

使用BigDecimal的計(jì)算的錯(cuò)誤示例:

public static void main(String[]args){
 double num1=19;
 double num2=20;
 //創(chuàng)建BigDecimal對(duì)象
 BigDecimal bd1=new BigDecimal(Double.toString(num1));
 BigDecimal bd1=new BigDecimal(Double.toString(num2));
 //以add方法進(jìn)行加運(yùn)算
 bd1.add(num2).doubleValue();
 //輸出結(jié)果
 System.out.printlin(bd1);//輸出19
}

使用BigDecimal的計(jì)算的正確示例:

public static void main(String[]args){
 double num1=19;
 double num2=20;
 //創(chuàng)建BigDecimal對(duì)象
 BigDecimal bd1=new BigDecimal(Double.toString(num1));
 BigDecimal bd1=new BigDecimal(Double.toString(num2));
 //以add方法進(jìn)行加運(yùn)算
 bd1=bd1.add(num2).doubleValue();
 //輸出結(jié)果
 System.out.printlin(bd1);//輸出39
}

看完上述內(nèi)容,你們掌握BigDecimal類(lèi)中的add()怎么在Java中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI