whycxzp
2022-09-30 648a36ac74755c8df9d50a2669ea024490cf6fd3
小数点处理
1个文件已修改
29 ■■■■■ 已修改文件
src/main/java/com/whyc/service/BattGroupDataService.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/whyc/service/BattGroupDataService.java
@@ -85,10 +85,10 @@
        float stdDevBr = MathUtil.getStandardDeviation(brList);
        float stdDevCr = MathUtil.getStandardDeviation(crList);
        float stdDevBs = MathUtil.getStandardDeviation(bsList);
        map.put("stdDevBv",stdDevBv*100+"%");
        map.put("stdDevBr",stdDevBr*100+"%");
        map.put("stdDevCr",stdDevCr*100+"%");
        map.put("stdDevBs",stdDevBs*100+"%");
        map.put("stdDevBv",stdDevBv*10000/100+"%");
        map.put("stdDevBr",stdDevBr*10000/100+"%");
        map.put("stdDevCr",stdDevCr*10000/100+"%");
        map.put("stdDevBs",stdDevBs*10000/100+"%");
        return map;
    }
@@ -110,11 +110,11 @@
        float sdBr = MathUtil.getStandardDeviation(dataList.stream().map(BattgroupData::getBr).collect(Collectors.toList()));
        float sdBv = MathUtil.getStandardDeviation(dataList.stream().map(BattgroupData::getBv).collect(Collectors.toList()));
        resBalanceRate.add(sdBaseBr*100+"%");
        resBalanceRate.add(sdBr*100+"%");
        resBalanceRate.add(sdBaseBr*10000/100+"%");
        resBalanceRate.add(sdBr*10000/100+"%");
        volBalanceRate.add(sdBaseBv*100+"%");
        volBalanceRate.add(sdBv*100+"%");
        volBalanceRate.add(sdBaseBv*10000/100+"%");
        volBalanceRate.add(sdBv*10000/100+"%");
        for (int i = 0; i < dataList.size(); i++) {
            BattgroupData data = dataList.get(i);
@@ -135,7 +135,7 @@
                    }
                }else {
                    float brFloat = BigDecimal.valueOf(br).subtract(BigDecimal.valueOf(baseBr)).divide(BigDecimal.valueOf(baseBr), 4, BigDecimal.ROUND_HALF_UP).floatValue();
                    resChangeRate.add(brFloat * 100 + "%");
                    resChangeRate.add(brFloat * 10000/100 + "%");
                }
                Float bv = data.getBv();
@@ -148,16 +148,16 @@
                    }
                }else {
                    float bvFloat = BigDecimal.valueOf(bv).subtract(BigDecimal.valueOf(baseBv)).divide(BigDecimal.valueOf(baseBv), 4, BigDecimal.ROUND_HALF_UP).floatValue();
                    volChangeRate.add(bvFloat * 100 + "%");
                    volChangeRate.add(bvFloat * 10000/100 + "%");
                }
            }
        }
        //将均一性值,也进行变化率计算
        float brFloat = BigDecimal.valueOf(sdBr).subtract(BigDecimal.valueOf(sdBaseBr)).divide(BigDecimal.valueOf(sdBaseBr),4, BigDecimal.ROUND_HALF_UP).floatValue();
        resChangeRate.add(brFloat*100+"%");
        resChangeRate.add(brFloat*10000/100+"%");
        float bvFloat = BigDecimal.valueOf(sdBv).subtract(BigDecimal.valueOf(sdBaseBv)).divide(BigDecimal.valueOf(sdBaseBv),4, BigDecimal.ROUND_HALF_UP).floatValue();
        volChangeRate.add(bvFloat*100+"%");
        volChangeRate.add(bvFloat*10000/100+"%");
        map.put("resChangeRate",resChangeRate);
        map.put("volChangeRate",volChangeRate);
@@ -167,9 +167,6 @@
    }
    public static void main(String[] args) {
        Float bv = 0.353f;
        Float baseBv = 0.354f;
        float bvFloat = BigDecimal.valueOf(bv).subtract(BigDecimal.valueOf(baseBv)).divide(BigDecimal.valueOf(baseBv),4,BigDecimal.ROUND_HALF_UP).floatValue();
        System.out.println((bvFloat * 100 + "%"));
    }
}