Java 使用BigDecimal和基本数据类型进行算术运算

Java 使用BigDecimal和基本数据类型进行算术运算

BigDecimal是Java的java.math包中的一个类,提供任意精度的十进制算术运算。它允许进行精确的十进制计算,而不会丢失浮点算术可能出现的精度。BigDecimal对象是不可变的,因此对它们的任何算术操作都会创建一个具有操作结果的新对象。

Java中的原始数据类型是语言中数据的基本构建块。它们包括int、double、Boolean、char等,代表整数、浮点数和布尔值等简单值。它们直接存储在内存中,不是对象,因此它们比对象具有更低的内存开销。

在这里,我们将探讨如何在BigDecimal和基本数据类型之间进行算术运算。

让我们开始吧!

例如:

加法:具有值为10.50的BigDecimal对象和具有值为5的int基本数据类型相加,得到一个具有值为15.50的BigDecimal对象。

10.50 + 5 = 15.50

步骤

步骤-1

步骤1 :初始化一个BigDecimal对象num1,并赋予一个值,同时初始化一个int变量num2,也赋予一个值。

步骤2 :调用BigDecimal的add()、subtract()、multiply()和divide()方法,在num1和num2之间进行算术运算。

步骤3 :将每个算术运算的结果存储在一个单独的BigDecimal对象中。

步骤4 :使用println方法将结果打印到控制台。

步骤5 :程序终止。

步骤-2

步骤1 :初始化一个BigDecimal对象num1,并赋予一个值,同时初始化一个int变量num2,也赋予一个值。

步骤2 :在num1上调用doubleValue方法,将其转换为double,并在所得的double和num2之间进行算术运算。

步骤3 :将每个算术运算的结果存储在一个原始的double变量中。

步骤4 :使用以字符串参数为参数的BigDecimal构造函数将原始double转换回BigDecimal对象。

步骤5 :使用println方法将结果打印到控制台,并终止程序。

语法

doubleValue()方法将一个BigDecimal对象的值作为double原始类型返回。

下面是其语法参考-

double doubleNum1 = num1.doubleValue();

其中,“num1”是一个BigDecimal对象。

多种方法

我们提供了不同的方法解决方案。

  • 使用BigDecimal类方法

  • 使用BigDecimal和原始数据类型之间的转换

让我们逐个查看程序及其输出。

方法一:使用BigDecimal类方法

在这种方法中,首先初始化一个BigDecimal对象,然后使用BigDecimal类方法在BigDecimal和原始数据类型之间执行算术运算。

示例

import java.math.BigDecimal;

public class Main {
   public static void main(String[] args) {

      // Initialize a BigDecimal object and a primitive int variable
      BigDecimal num1 = new BigDecimal("10.25");
      int num2 = 5;

      // Perform arithmetic operations between BigDecimal and primitive data types
      BigDecimal sum = num1.add(BigDecimal.valueOf(num2));
      BigDecimal difference = num1.subtract(BigDecimal.valueOf(num2));
      BigDecimal product = num1.multiply(BigDecimal.valueOf(num2));
      BigDecimal quotient = num1.divide(BigDecimal.valueOf(num2));

      // Print results
      System.out.println("Sum: " + sum);
      System.out.println("Difference: " + difference);
      System.out.println("Product: " + product);
      System.out.println("Quotient: " + quotient);
   }
}

输出

Sum: 15.25
Difference: 5.25
Product: 51.25
Quotient: 2.05

方法二: 使用BigDecimal和基本数据类型之间的转换

在这种方法中,初始化BigDecimal对象,然后通过使用BigDecimal和基本数据类型之间的转换执行BigDecimal和基本数据类型之间的算术操作。

示例

import java.math.BigDecimal;

public class Main {
   public static void main(String[] args) {

      // Initialize a BigDecimal object and a primitive int variable
      BigDecimal num1 = new BigDecimal("20.55");
      int num2 = 7;

      // Convert the BigDecimal object to a double and perform arithmetic operations between primitive data types
      double doubleNum1 = num1.doubleValue();
      double sum = doubleNum1 + num2;
      double difference = doubleNum1 - num2;
      double product = doubleNum1 * num2;
      double quotient = doubleNum1 / num2;

      // Convert the result of each arithmetic operation back to a BigDecimal object
      BigDecimal sumBD = new BigDecimal(Double.toString(sum));
      BigDecimal differenceBD = new BigDecimal(Double.toString(difference));
      BigDecimal productBD = new BigDecimal(Double.toString(product));
      BigDecimal quotientBD = new BigDecimal(Double.toString(quotient));

      // Print results
      System.out.println("Sum: " + sumBD);
      System.out.println("Difference: " + differenceBD);
      System.out.println("Product: " + productBD);
      System.out.println("Quotient: " + quotientBD);
   }
}

输出

Sum: 27.55
Difference: 13.55
Product: 143.85
Quotient: 2.935714285714286

在这篇文章中,我们探讨了使用Java编程语言如何在BigDecimal和原始数据类型之间进行算术操作。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程