BigDecimal 作除法运算保留两位小数
时间: 2024-09-09 22:06:24 浏览: 77
java保留两位小数问题
5星 · 资源好评率100%
`BigDecimal` 是 Java 中用于高精度浮点数计算的一个类,它提供了对浮点数操作的精确处理,包括加、减、乘、除等运算。如果你想用 `BigDecimal` 进行除法并保留两位小数,可以按照以下步骤操作:
1. 创建两个 `BigDecimal` 对象表示要相除的数值,通常需要从字符串或者其他数据源获取精确值。
```java
BigDecimal dividend = new BigDecimal("1234567890.1234");
BigDecimal divisor = new BigDecimal("9876543210.9876");
```
2. 使用 `divide()` 方法进行除法运算,并传递一个 `RoundingMode` 参数来指定四舍五入规则。这里我们选择 `ROUND_HALF_UP` 来保留两位小数。
```java
BigDecimal result = dividend.divide(divisor, RoundingMode.HALF_UP);
```
3. 要获取结果并保留两位小数,你可以使用 `setScale()` 方法:
```java
result = result.setScale(2, RoundingMode.HALF_UP); // 设置小数位数为2
```
现在,`result` 就是一个保留了两位小数的 `BigDecimal` 表示的数值。完整的代码可能会像这样:
```java
String strDividend = "1234567890.1234";
String strDivisor = "9876543210.9876";
BigDecimal dividend = new BigDecimal(strDividend);
BigDecimal divisor = new BigDecimal(strDivisor);
BigDecimal result = dividend.divide(divisor, RoundingMode.HALF_UP).setScale(2, RoundingMode.HALF_UP);
System.out.println(result);
```
阅读全文