Java中BigDecimal類的add()的使用詳解
Java中的BigDecimal類的使用:
使用Java中的BigDecimal可以進(jìn)行精確的計算,但是在使用BigDecimal時我們需要注意它的add()方法,使用它自身的add( )方法并不會改變它原始的值,因為初始化BigDecimal是創(chuàng)建一個了個對象,使用add()方法時也等于是創(chuàng)建了一個對象,若要保存這個對象需要再創(chuàng)建一個對象。
句法:
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)方法用于獲取一個BigDecimal,該BigDecimal保留使用給定BigDecimal與該BigDecimal相加的值,并使用max([thisBigDecimal.scale()],[BigDecimal val.scale()])計算其小數(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.
這些方法在添加對象時可能會引發(fā)異常。
ArithmeticException: This exception may throw when the result is not accurate and set the rounding mode "UNNECESSARY".
ArithmeticException :當(dāng)結(jié)果不正確并且將舍入模式設(shè)置為“ UNNECESSARY”時,可能會引發(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)方法,可通過類對象訪問,如果嘗試使用類名訪問這些方法,則會收到錯誤消息。
使用BigDecimal的計算的錯誤示例:
public static void main(String[]args){
double num1=19;
double num2=20;
//創(chuàng)建BigDecimal對象
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的計算的正確示例:
public static void main(String[]args){
double num1=19;
double num2=20;
//創(chuàng)建BigDecimal對象
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
}
綜上所述,當(dāng)我們使用BigDecimal來計算時需要將它計算出的結(jié)果進(jìn)行保存,若不進(jìn)行操作,則原始值還是不變的。
到此這篇關(guān)于Java中BigDecimal類的add()的使用詳解的文章就介紹到這了,更多相關(guān)Java BigDecimal add()內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java使用MulticastSocket實現(xiàn)基于廣播的多人聊天室
這篇文章主要為大家詳細(xì)介紹了java使用MulticastSocket實現(xiàn)基于廣播的多人聊天室,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-01-01
SpringBoot實現(xiàn)自定義條件注解的代碼示例
在Spring Boot中,條件注解是一種非常強(qiáng)大的工具,它可以根據(jù)特定的條件來選擇是否加載某個類或某個Bean,文將介紹如何在Spring Boot中實現(xiàn)自定義條件注解,并提供一個示例代碼,需要的朋友可以參考下2023-06-06
SpringBoot實現(xiàn)支付寶沙箱支付的完整步驟
沙箱支付是一種用于模擬真實支付環(huán)境的測試工具,它提供了一個安全的測試環(huán)境,供開發(fā)者在不影響真實交易的情況下進(jìn)行支付功能的開發(fā)和測試,這篇文章給大家介紹了SpringBoot實現(xiàn)支付寶沙箱支付的完整步驟,需要的朋友可以參考下2024-04-04
java解析XML Node與Element的區(qū)別(推薦)
下面小編就為大家分享一篇java解析XML Node與Element的區(qū)別,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
SpringBoot多數(shù)據(jù)源配置方式以及報錯問題的解決
這篇文章主要介紹了SpringBoot多數(shù)據(jù)源配置方式以及報錯問題的解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07

