| | |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.math.BigDecimal; |
| | | import java.text.NumberFormat; |
| | | import java.util.HashMap; |
| | | import java.util.LinkedList; |
| | | import java.util.List; |
| | |
| | | List<Float> crList = monList.stream().map(BattgroupData::getCr).map(Float::parseFloat).collect(Collectors.toList()); |
| | | List<Float> bsList = monList.stream().map(BattgroupData::getBs).map(Float::parseFloat).collect(Collectors.toList()); |
| | | |
| | | NumberFormat percentInstance = NumberFormat.getPercentInstance(); |
| | | percentInstance.setMinimumFractionDigits(2); |
| | | float stdDevBv = MathUtil.getStandardDeviation(bvList); |
| | | float stdDevBr = MathUtil.getStandardDeviation(brList); |
| | | float stdDevCr = MathUtil.getStandardDeviation(crList); |
| | | float stdDevBs = MathUtil.getStandardDeviation(bsList); |
| | | map.put("stdDevBv",stdDevBv*10000/100+"%"); |
| | | map.put("stdDevBr",stdDevBr*10000/100+"%"); |
| | | map.put("stdDevCr",stdDevCr*10000/100+"%"); |
| | | map.put("stdDevBs",stdDevBs*10000/100+"%"); |
| | | map.put("stdDevBv",percentInstance.format(stdDevBv)); |
| | | map.put("stdDevBr",percentInstance.format(stdDevBr)); |
| | | map.put("stdDevCr",percentInstance.format(stdDevCr)); |
| | | map.put("stdDevBs",percentInstance.format(stdDevBs)); |
| | | return map; |
| | | } |
| | | |
| | |
| | | float sdBr = MathUtil.getStandardDeviation(dataList.stream().map(BattgroupData::getBr).map(Float::parseFloat).collect(Collectors.toList())); |
| | | float sdBv = MathUtil.getStandardDeviation(dataList.stream().map(BattgroupData::getBv).map(Float::parseFloat).collect(Collectors.toList())); |
| | | |
| | | resBalanceRate.add(sdBaseBr*10000/100+"%"); |
| | | resBalanceRate.add(sdBr*10000/100+"%"); |
| | | NumberFormat percentInstance = NumberFormat.getPercentInstance(); |
| | | percentInstance.setMinimumFractionDigits(2); |
| | | |
| | | volBalanceRate.add(sdBaseBv*10000/100+"%"); |
| | | volBalanceRate.add(sdBv*10000/100+"%"); |
| | | resBalanceRate.add(percentInstance.format(sdBaseBr)); |
| | | resBalanceRate.add(percentInstance.format(sdBr)); |
| | | |
| | | volBalanceRate.add(percentInstance.format(sdBaseBv)); |
| | | volBalanceRate.add(percentInstance.format(sdBv)); |
| | | |
| | | for (int i = 0; i < dataList.size(); i++) { |
| | | BattgroupData data = dataList.get(i); |
| | |
| | | } |
| | | }else { |
| | | float brFloat = BigDecimal.valueOf(br).subtract(BigDecimal.valueOf(baseBr)).divide(BigDecimal.valueOf(baseBr), 4, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | resChangeRate.add(brFloat * 10000/100 + "%"); |
| | | resChangeRate.add(percentInstance.format(brFloat)); |
| | | } |
| | | |
| | | Float bv = Float.parseFloat(data.getBv()); |
| | |
| | | } |
| | | }else { |
| | | float bvFloat = BigDecimal.valueOf(bv).subtract(BigDecimal.valueOf(baseBv)).divide(BigDecimal.valueOf(baseBv), 4, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | volChangeRate.add(bvFloat * 10000/100 + "%"); |
| | | volChangeRate.add(percentInstance.format(bvFloat)); |
| | | } |
| | | } |
| | | } |
| | | //将均一性值,也进行变化率计算 |
| | | float brFloat = BigDecimal.valueOf(sdBr).subtract(BigDecimal.valueOf(sdBaseBr)).divide(BigDecimal.valueOf(sdBaseBr),4, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | resChangeRate.add(brFloat*10000/100+"%"); |
| | | resChangeRate.add(percentInstance.format(brFloat)); |
| | | |
| | | float bvFloat = BigDecimal.valueOf(sdBv).subtract(BigDecimal.valueOf(sdBaseBv)).divide(BigDecimal.valueOf(sdBaseBv),4, BigDecimal.ROUND_HALF_UP).floatValue(); |
| | | volChangeRate.add(bvFloat*10000/100+"%"); |
| | | volChangeRate.add(percentInstance.format(bvFloat)); |
| | | |
| | | map.put("resChangeRate",resChangeRate); |
| | | map.put("volChangeRate",volChangeRate); |