Java中BigDecimal类的add()的使用详解

网友投稿 298 2022-11-05


Java中BigDecimal类的add()的使用详解

java中的BigDecimal类的使用:

使用Java中的BigDecimal可以进行精确的计算,但是在使用BigDecimal时我们需要注意它的add()方法,使用它自身的add( )方法并不会改变它原始的值,因为初始化BigDecimal是创建一个了个对象,使用add()方法时也等于是创建了一个对象,若要保存这个对象需要再创建一个对象。

句法:

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()])计算其小数位数。

add(Bihttp://gDecimal 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设置的给定BigDecimal与该BigDecimal的增值。

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

这些方法在添加对象时可能会引发异常。

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

ArithmeticException :当结果不正确并且将舍入模式设置为“ UNNECESSARY”时,可能会引发此异常。

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.

这些是非静态方法,可通过类对象访问,如果尝试使用类名访问这些方法,则会收到错误消息。

使用BigDecimal的计算的错误示例:

public static void main(String[]args){

double num1=19;

double num2=20;

//创建BigDecimal对象

BigDecimal bd1=new BigDecimal(Double.toString(num1));

BigDecimal bd1=new BigDecimal(Double.toString(num2));

//以add方法进行加运算

bd1.add(num2).doubleValue();

//输出结果

System.out.printlin(bd1);//输出19

}

使用BigDecimal的计算的正确示例:

public static void main(String[]args){

double num1=19;

double num2=20;

//创建BigDecimal对象

BigDecimal bd1=new BigDecimal(Double.toString(num1));

BigDecimal bd1=new BigDecimal(Double.toString(num2));

//以add方法进行加运算

bd1=bd1.add(num2).doubleValue();

//输出结果

System.out.printlin(bd1);//输出39

}

综上所述,当我们使用BigDecimal来计算时需要将它计算出的结果进行保存,若不进行操作,则原始值还是不变的。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux aarch64交叉编译之 cryptopp加密库
下一篇:Linux aarch64交叉编译之glm数学库
相关文章

 发表评论

暂时没有评论,来抢沙发吧~