Java中 BigDecimal 加减乘除运算
时间: 2025-01-07 13:03:51 浏览: 8
在Java中,BigDecimal是一个用于精确浮点数计算的数据类型,它能处理任意精度的数值,包括小数和整数,特别适合财务计算、货币操作等需要高精度的情况。对于加减乘除运算,你可以在BigDecimal对象上调用相应的方法:
1. **加法**:
```java
BigDecimal a = new BigDecimal("123.45");
BigDecimal b = new BigDecimal("678.90");
BigDecimal sum = a.add(b);
```
2. **减法**:
```java
BigDecimal difference = a.subtract(b);
```
3. **乘法**:
```java
BigDecimal product = a.multiply(b);
```
4. **除法**:
- **正常除法**:
```java
BigDecimal quotient = a.divide(b, RoundingMode.HALF_UP); // 四舍五入
```
- **长除法**(得到商和余数),可以用BigInteger配合:
```java
BigInteger bigA = a.unscaledValue();
BigInteger bigB = b.unscaledValue();
BigDecimal[] result = bigA.divideAndRemainder(bigB);
BigDecimal quotient = result[0];
BigDecimal remainder = result[1];
```
需要注意的是,由于BigDecimal的精度极高,可能会比普通的double或float类型的运算慢一些。
阅读全文