reduce(BigDecimal.ZERO, BigDecimal::add)保留两位小数
时间: 2023-11-11 16:58:22 浏览: 78
使用BigDecimal的setScale方法可以实现保留两位小数。下面是一个示例代码:
```java
BigDecimal result = reduce(BigDecimal.ZERO, BigDecimal::add);
result = result.setScale(2, RoundingMode.HALF_UP);
```
在上述代码中,`setScale(2, RoundingMode.HALF_UP)`将结果保留两位小数,并使用四舍五入的方式进行舍入。
相关问题
reduce(BigDecimal.ZERO, BigDecimal::add)爆红
`reduce(BigDecimal.ZERO, BigDecimal::add)` 爆红的原因是因为在使用 `reduce` 方法时,需要注意泛型的类型。在这个例子中,`BigDecimal.ZERO` 是一个 `BigDecimal` 类型的值,而 `BigDecimal::add` 是一个 `BinaryOperator<BigDecimal>` 类型的函数。因此,`reduce` 方法的返回值应该是一个 `BigDecimal` 类型的值。
如果 `reduce(BigDecimal.ZERO, BigDecimal::add)` 爆红,可以尝试将其改为 `reduce(BigDecimal.ZERO, (a, b) -> a.add(b))`,这样就可以避免类型错误。
以下是一个示例代码:
```java
List<BigDecimal> list = Arrays.asList(new BigDecimal("1.0"), new BigDecimal("2.0"), new BigDecimal("3.0"));
BigDecimal sum = list.stream().reduce(BigDecimal.ZERO, (a, b) -> a.add(b));
System.out.println(sum); // 输出:6.0
```
.reduce(BigDecimal.ZERO, BigDecimal::add)
这是Java 8中的Stream API中的reduce()函数,它将流中的元素按照给定的操作进行聚合。在这个例子中,BigDecimal.ZERO是初始值,BigDecimal::add是一个二元操作符,用于将流中的元素相加。具体来说,这个例子将一个User对象列表中的年龄字段取出来,转换为BigDecimal类型,然后将它们相加得到一个BigDecimal类型的结果。
以下是一个示例代码:
```java
BigDecimal result2 = userList.stream()
.map(User::getAge)
.reduce(BigDecimal.ZERO, BigDecimal::add);
```
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)