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

作者:muzi木子 时间:2023-03-07 16:12:11 

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(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设置的给定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来计算时需要将它计算出的结果进行保存,若不进行操作,则原始值还是不变的。

来源:https://blog.csdn.net/qq_43199016/article/details/99633509

标签:Java,BigDecimal,add()
0
投稿

猜你喜欢

  • 浅析Mybatis 在CS程序中的应用

    2023-06-24 08:44:15
  • C#排序算法之快速排序解析

    2023-03-21 00:39:28
  • dotNet中的反射用法入门教程

    2023-12-01 01:08:28
  • 解决@Autowired注入static接口的问题

    2022-01-02 03:16:29
  • WinForm实现自定义右下角提示效果的方法

    2023-01-19 08:19:57
  • Java 设计模式中的策略模式详情

    2023-08-06 03:45:11
  • 实例讲解建立Android项目

    2023-10-04 17:41:20
  • Android实现短信验证码自动填写功能

    2022-01-21 13:12:10
  • java实现简易外卖订餐系统

    2021-11-04 16:01:25
  • Java求最小生成树的两种算法详解

    2023-11-10 07:21:24
  • Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡

    2023-08-30 21:30:38
  • Flutter绘图组件之CustomPaint使用详解

    2021-12-13 01:26:06
  • Springboot打成war包并在tomcat中运行的部署方法

    2022-06-29 07:53:32
  • java实现socket客户端连接服务端

    2021-12-02 03:52:07
  • Unity工具类之生成文本验证码

    2021-06-21 03:38:42
  • java jdk1.8 使用stream流进行list 分组归类操作

    2022-10-16 10:03:52
  • Android音视频开发之VideoView使用指南

    2022-11-20 11:14:52
  • Android简单创建一个Activity的方法

    2023-01-22 12:39:53
  • Spark SQL的自定义函数UDF使用

    2022-07-31 04:19:47
  • java的基本数据类型及属性

    2021-08-10 19:31:49
  • asp之家 软件编程 m.aspxhome.com