BigDecimal 与原始数据类型之间的算术运算的 Java 程序
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:使用采用 String 参数的 BigDecimal 构造函数将原始 double 转换回 BigDecimal 对象。
步骤 5:使用 println 方法将结果打印到控制台,程序终止。
语法
doubleValue() 方法将 BigDecimal 对象的值作为 double 原始类型返回。
下面引用它的语法-
double doubleNum1 = num1.doubleValue();
其中,"num1"是一个 BigDecimal 对象。
多种方法
我们提供了不同方法的解决方案。
使用 BigDecimal 类方法
使用 BigDecimal 和原始数据类型之间的转换
让我们逐一查看程序及其输出。
方法 1:使用 BigDecimal 类方法
在此方法中,初始化 BigDecimal 对象,然后使用 BigDecimal 类方法在 BigDecimal 和原始数据类型之间执行算术运算。
示例
import java.math.BigDecimal; public class Main { public static void main(String[] args) { // 初始化一个 BigDecimal 对象和一个原始 int 变量 BigDecimal num1 = new BigDecimal("10.25"); int num2 = 5; // 在 BigDecimal 和原始数据类型之间执行算术运算 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)); // 打印结果 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
方法 2:使用 BigDecimal 与原始数据类型之间的转换
在此方法中,先初始化 BigDecimal 对象,然后使用 BigDecimal 与原始数据类型之间的转换执行 BigDecimal 与原始数据类型之间的算术运算。
示例
import java.math.BigDecimal; public class Main { public static void main(String[] args) { // 初始化一个 BigDecimal 对象和一个原始 int 变量 BigDecimal num1 = new BigDecimal("20.55"); int num2 = 7; // 将 BigDecimal 对象转换为 double 并执行原始数据类型之间的算术运算 double doubleNum1 = num1.doubleValue(); double sum = doubleNum1 + num2; double difference = doubleNum1 - num2; double product = doubleNum1 * num2; double quotient = doubleNum1 / num2; // 将每个算术运算的结果转换回 BigDecimal 对象 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)); // 打印结果 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 和 Primitive 数据类型之间执行算术运算。