我有一段设置BigDecimal的代码:
setTotalDogsCurrentValueInUsd(
purchases
.stream()
.map(p -> p.getNumberOfDogs())
.filter(Objects::nonNull)
.reduce(BigDecimal.ZERO, BigDecimal::add).multiply(new BigDecimal(rate)));
我想将MathContext.DECIMAL32
添加到四舍五入,但是我不知道将其精确地添加到何处
答案 0 :(得分:2)
使用this乘法的重载:
.multiply(new BigDecimal(rate), MathContext.DECIMAL32)
或者如果您想在reduce
通话期间应用它:
.reduce(BigDecimal.ZERO, (a, b) -> a.add(b, MathContext.DECIMAL32))