Java中BigDecimal类的add()的使用详解
Java中的BigDecimal类的使用:
使用Java中的BigDecimal可以进行精确的计算,但是在使用BigDecimal时我们需要注意它的add()方法,使用它自身的add()方法并不会改变它原始的值,因为初始化BigDecimal是创建一个了个对象,使用add()方法时也等于是创建了一个对象,若要保存这个对象需要再创建一个对象。
句法:
publicBigDecimaladd(BigDecimalval); publicBigDecimaladd(BigDecimalval,MathContextma_co);
add()methodisavailableinjava.mathpackage.
add()方法在java.math包中可用。
add(BigDecimalval)methodisusedtogetaBigDecimalthatholdsthevalueaddedthisBigDecimalwiththegivenBigDecimalanditsscaleiscalculatedbyusingmax([thisBigDecimal.scale()],[BigDecimalval.scale()]).
add(BigDecimalval)方法用于获取一个BigDecimal,该BigDecimal保留使用给定BigDecimal与该BigDecimal相加的值,并使用max([thisBigDecimal.scale()],[BigDecimalval.scale()])计算其小数位数。
add(BigDecimalval,MathContextma_co)methodisusedtogetaBigDecimalthatholdsthevalue-addedthisBigDecimalwiththegivenBigDecimalbasedonthegivenMathContextsettings.
add(BigDecimalval,MathContextma_co)方法用于获取BigDecimal,该BigDecimal包含基于给定MathContext设置的给定BigDecimal与该BigDecimal的增值。
Thesemethodsmaythrowanexceptionatthetimeofaddinganobject.
这些方法在添加对象时可能会引发异常。
ArithmeticException:Thisexceptionmaythrowwhentheresultisnotaccurateandsettheroundingmode"UNNECESSARY".
ArithmeticException:当结果不正确并且将舍入模式设置为“UNNECESSARY”时,可能会引发此异常。
Thesearenon-staticmethodsanditisaccessiblewithclassobjectsandifwetrytoaccessthesemethodswiththeclassnamethenwewillgetanerror.
这些是非静态方法,可通过类对象访问,如果尝试使用类名访问这些方法,则会收到错误消息。
使用BigDecimal的计算的错误示例:
publicstaticvoidmain(String[]args){ doublenum1=19; doublenum2=20; //创建BigDecimal对象 BigDecimalbd1=newBigDecimal(Double.toString(num1)); BigDecimalbd1=newBigDecimal(Double.toString(num2)); //以add方法进行加运算 bd1.add(num2).doubleValue(); //输出结果 System.out.printlin(bd1);//输出19 }
使用BigDecimal的计算的正确示例:
publicstaticvoidmain(String[]args){ doublenum1=19; doublenum2=20; //创建BigDecimal对象 BigDecimalbd1=newBigDecimal(Double.toString(num1)); BigDecimalbd1=newBigDecimal(Double.toString(num2)); //以add方法进行加运算 bd1=bd1.add(num2).doubleValue(); //输出结果 System.out.printlin(bd1);//输出39 }
综上所述,当我们使用BigDecimal来计算时需要将它计算出的结果进行保存,若不进行操作,则原始值还是不变的。
到此这篇关于Java中BigDecimal类的add()的使用详解的文章就介绍到这了,更多相关JavaBigDecimaladd()内容请搜索毛票票以前的文章或继续浏览下面的相关文章希望大家以后多多支持毛票票!