假设您有两个 BigDecimal 类型的变量,分别代表 2021 年和 2022 年的数据。可以使用以下代码计算每个月的环比增长率:

// 假设 2021 年的值为 prevValue,2022 年的值为 curValue
BigDecimal[] monthlyValues = new BigDecimal[12];
for (int i = 0; i < 12; i++) {
    BigDecimal curMonthValue = curValue.divide(BigDecimal.valueOf(12), RoundingMode.HALF_UP);
    BigDecimal prevMonthValue = prevValue.divide(BigDecimal.valueOf(12), RoundingMode.HALF_UP);
    BigDecimal monthGrowth = curMonthValue.subtract(prevMonthValue).divide(prevMonthValue, RoundingMode.HALF_UP);
    monthlyValues[i] = monthGrowth;
    prevValue = curValue; // 更新 prevValue 的值为当前月份的值
    curValue = curValue.add(monthGrowth.multiply(curValue)); // 更新 curValue 的值为当前月份的累计值
}

这段代码首先将每年的总值平均分配到每个月份,然后计算每个月的环比增长率,最后将每个月的环比增长率存储到一个数组中。在计算每个月的环比增长率时,需要先计算出当前月份的值和上一个月份的值,然后计算它们的差值除以上一个月份的值。在更新 curValue 的值时,需要将当前月份的增长率乘以当前月份的值,并加上之前的累计值。

Java BigDecimal: 计算 2022 年每个月的环比增长率

原文地址: https://www.cveoy.top/t/topic/mRy9 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录