BigDecimal用stream求平均值
时间: 2024-02-28 19:50:37 浏览: 265
BigDecimal使用
BigDecimal是Java中的一个高精度数值计算类,它可以处理任意精度的十进制数。使用BigDecimal进行数值计算时,可以避免浮点数精度丢失的问题。
要使用BigDecimal来求平均值,可以结合Java 8中的Stream API来实现。下面是一个示例代码:
```java
import java.math.BigDecimal;
import java.util.Arrays;
import java.util.List;
public class BigDecimalAverage {
public static void main(String[] args) {
List<BigDecimal> numbers = Arrays.asList(
new BigDecimal("1.5"),
new BigDecimal("2.5"),
new BigDecimal("3.5"),
new BigDecimal("4.5"),
new BigDecimal("5.5")
);
BigDecimal average = numbers.stream()
.reduce(BigDecimal.ZERO, BigDecimal::add)
.divide(BigDecimal.valueOf(numbers.size()));
System.out.println("平均值:" + average);
}
}
```
在上面的示例中,我们首先创建了一个包含BigDecimal对象的列表。然后,使用Stream API的reduce方法将所有元素相加得到总和,再除以元素个数得到平均值。最后,将平均值打印出来。
注意,在使用BigDecimal进行除法运算时,需要使用divide方法,并且传入一个BigDecimal类型的除数。
阅读全文