假设你已经有了 2021 年和 2022 年每个月的 BigDecimal 类型字段,比如:

BigDecimal[] year2021 = {new BigDecimal('100'), new BigDecimal('120'), new BigDecimal('130'), new BigDecimal('140'), new BigDecimal('150'), new BigDecimal('160'), new BigDecimal('170'), new BigDecimal('180'), new BigDecimal('190'), new BigDecimal('200'), new BigDecimal('210'), new BigDecimal('220')};
BigDecimal[] year2022 = {new BigDecimal('200'), new BigDecimal('220'), new BigDecimal('240'), new BigDecimal('260'), new BigDecimal('280'), new BigDecimal('300'), new BigDecimal('320'), new BigDecimal('340'), new BigDecimal('360'), new BigDecimal('380'), new BigDecimal('400'), new BigDecimal('420')};

则,计算 2022 年 1 到 12 月每个月的环比可以按照以下步骤进行:

  1. 创建一个长度为 12 的 BigDecimal 类型数组,用于存储每个月的环比值:
BigDecimal[] ratio = new BigDecimal[12];
  1. 计算 1 月份的环比值:
ratio[0] = year2022[0].subtract(year2021[11]).divide(year2021[11], 2, RoundingMode.HALF_UP);

其中,subtract 方法用于计算两个 BigDecimal 类型数值的差,divide 方法用于计算商,第三个参数表示保留小数点后 2 位,使用四舍五入的方式。

  1. 循环计算 2-12 月份的环比值:
for (int i = 1; i < 12; i++) {
    ratio[i] = year2022[i].subtract(year2022[i-1]).divide(year2022[i-1], 2, RoundingMode.HALF_UP);
}

其中,循环从 i=1 开始,因为 1 月份已经在上一步中计算过了。每次计算当前月份的环比值时,用当前月份的数值减去上一个月份的数值,再除以上一个月份的数值,得到环比值。

  1. 最后,输出每个月的环比值:
for (int i = 0; i < 12; i++) {
    System.out.println("Month " + (i+1) + " ratio: " + ratio[i]);
}
Java BigDecimal 环比计算:2022 年每月环比示例

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

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