java中Bigdecimal类型的集合 以2021和2022年为例现在以2022年为准怎么计算出2022年1到12月每个月的环比?包含2022年1月份的环比值
首先,需要创建一个包含2021和2022年每个月的BigDecimal类型的集合,可以使用如下代码:
List<BigDecimal> values = new ArrayList<>();
values.add(new BigDecimal("100")); //2021年1月
values.add(new BigDecimal("120")); //2021年2月
values.add(new BigDecimal("150")); //2021年3月
values.add(new BigDecimal("130")); //2021年4月
values.add(new BigDecimal("140")); //2021年5月
values.add(new BigDecimal("160")); //2021年6月
values.add(new BigDecimal("180")); //2021年7月
values.add(new BigDecimal("200")); //2021年8月
values.add(new BigDecimal("190")); //2021年9月
values.add(new BigDecimal("180")); //2021年10月
values.add(new BigDecimal("170")); //2021年11月
values.add(new BigDecimal("200")); //2021年12月
values.add(new BigDecimal("220")); //2022年1月
values.add(new BigDecimal("240")); //2022年2月
values.add(new BigDecimal("260")); //2022年3月
values.add(new BigDecimal("280")); //2022年4月
values.add(new BigDecimal("300")); //2022年5月
values.add(new BigDecimal("320")); //2022年6月
values.add(new BigDecimal("340")); //2022年7月
values.add(new BigDecimal("360")); //2022年8月
values.add(new BigDecimal("380")); //2022年9月
values.add(new BigDecimal("400")); //2022年10月
values.add(new BigDecimal("420")); //2022年11月
values.add(new BigDecimal("440")); //2022年12月
然后,可以使用如下代码计算出每个月的环比:
//从2022年1月开始,计算每个月的环比
for(int i=1; i<=12; i++){
BigDecimal currentMonthValue = values.get(12+i); //当前月的值
BigDecimal lastMonthValue = values.get(12+i-1); //上个月的值
BigDecimal monthRatio = currentMonthValue.subtract(lastMonthValue).divide(lastMonthValue, 4, RoundingMode.HALF_UP); //计算环比
System.out.println("2022年" + i + "月环比:" + monthRatio);
}
最后,运行上述代码即可输出2022年1到12月每个月的环比。其中,使用BigDecimal类型进行计算可以保证计算精度。在计算环比时,需要使用BigDecimal的减法和除法方法,并指定精确度和舍入方式。
原文地址: https://www.cveoy.top/t/topic/boMp 著作权归作者所有。请勿转载和采集!