BigDecimal 怎么用
时间: 2025-05-02 11:43:53 浏览: 15
### 使用 BigDecimal 进行数值运算
`BigDecimal` 是 Java 中用于高精度计算的一个类,它提供了精确的小数运算功能。以下是关于 `BigDecimal` 的基本使用方法以及如何执行常见的算术操作。
#### 创建 BigDecimal 对象
可以通过多种方式创建 `BigDecimal` 对象,最常见的是通过字符串或数字来初始化:
```java
import java.math.BigDecimal;
// 通过字符串创建 BigDecimal 对象
BigDecimal num1 = new BigDecimal("123.45");
// 通过整型创建 BigDecimal 对象
BigDecimal num2 = new BigDecimal(678);
// 通过双精度浮点数创建 BigDecimal 对象 (不推荐直接传递 double 值)
BigDecimal num3 = new BigDecimal(Double.toString(90.1)); // 推荐这种方式以避免精度丢失 [^1]
```
#### 执行加法运算
可以使用 `add()` 方法来进行两个 `BigDecimal` 数值的相加,并返回一个新的 `BigDecimal` 对象表示结果。
```java
BigDecimal resultAdd = num1.add(num2); // 结果为 123.45 + 678 = 801.45
System.out.println(resultAdd);
```
#### 执行减法运算
利用 `subtract()` 方法可以从当前 `BigDecimal` 实例中减去另一个 `BigDecimal` 并返回新的实例。
```java
BigDecimal resultSubtract = num2.subtract(num1); // 结果为 678 - 123.45 = 554.55
System.out.println(resultSubtract);
```
#### 执行乘法运算
对于乘法操作,可调用 `multiply()` 方法完成两数相乘的任务。
```java
BigDecimal resultMultiply = num1.multiply(num2); // 结果为 123.45 * 678 = 83711.1
System.out.println(resultMultiply);
```
#### 执行除法运算
当涉及到除法时,需注意可能产生的无限循环小数情况,因此通常会指定舍入模式和比例尺。
```java
// 设置保留两位小数并采用四舍五入的方式处理多余部分
BigDecimal resultDivide = num1.divide(num2, 2, BigDecimal.ROUND_HALF_UP);
System.out.println(resultDivide); // 输出近似值
```
以上展示了在 Java 编程语言里运用 `BigDecimal` 类实现基础数学运算的方法[^1]。
阅读全文
相关推荐


















