假设有一个名为'amount'的'BigDecimal'类型的字段,表示某一年每个月的金额。

首先需要获取 2022 年每个月的金额和 2021 年对应月份的金额,然后计算环比。

代码示例:

// 构造一个Map,key为月份,value为对应月份的金额
Map<Integer, BigDecimal> amountMap = new HashMap<>();
// 假设amount为一个包含2021和2022年所有月份金额的列表
for (int i = 0; i < amount.size(); i++) {
    BigDecimal amt = amount.get(i);
    // 根据索引计算月份
    int month = i % 12 + 1;
    // 根据月份把金额存入Map中
    amountMap.put(month, amt);
}

// 计算每个月的环比
for (int i = 1; i <= 12; i++) {
    BigDecimal curMonthAmt = amountMap.get(i); // 当前月份的金额
    // 计算上一个月的月份
    int lastMonth = i == 1 ? 12 : i - 1;
    BigDecimal lastMonthAmt = amountMap.get(lastMonth); // 上一个月份的金额
    // 计算环比
    BigDecimal mom = curMonthAmt.subtract(lastMonthAmt).divide(lastMonthAmt, 4, RoundingMode.HALF_UP);
    System.out.println("2022年" + i + "月环比:" + mom);
}
Java BigDecimal 计算环比:以 2022 年为例

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

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