BigDecimal 类型字段环比计算:2022 年示例
假设有一个名为'amount'的'BigDecimal'类型的字段,代表某个指标的数值。
我们可以先查询出 2022 年 1 到 12 月每个月的数值和上一个月的数值,然后计算环比。具体实现如下:
// 获取 2022 年 1 月到 12 月每个月的数值和上一个月的数值
List<BigDecimal[]> data = new ArrayList<>();
for (int i = 1; i <= 12; i++) {
BigDecimal[] monthData = new BigDecimal[2];
monthData[0] = getAmount(2022, i); // 当前月数值
monthData[1] = getAmount(2022, i-1); // 上一个月数值
data.add(monthData);
}
// 计算每个月的环比
for (int i = 0; i < data.size(); i++) {
BigDecimal[] monthData = data.get(i);
BigDecimal currentMonthAmount = monthData[0];
BigDecimal lastMonthAmount = monthData[1];
if (lastMonthAmount != null && lastMonthAmount.compareTo(BigDecimal.ZERO) != 0) {
BigDecimal ratio = currentMonthAmount.subtract(lastMonthAmount).divide(lastMonthAmount, 2, RoundingMode.HALF_UP);
System.out.println("2022年" + (i+1) + "月环比:" + ratio);
} else {
System.out.println("2022年" + (i+1) + "月无法计算环比");
}
}
其中getAmount(year, month)方法用于查询指定年月的数值,可以根据具体情况进行实现。计算环比时,需要注意分母不能为 0。
原文地址: https://www.cveoy.top/t/topic/mQby 著作权归作者所有。请勿转载和采集!