ting.yin 2 年 前
コミット
6a338d3bff

+ 1 - 1
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/service/impl/ReportServiceImpl.java

@@ -409,7 +409,7 @@ public class ReportServiceImpl implements ReportService {
                     subject.getRealityCount(), 10);
             for (int i = 0; i < array.size(); i++) {
                 JSONObject jsonObject = array.getJSONObject(i);
-                String score = jsonObject.getInt("score") + "-";
+                String score = String.valueOf(jsonObject.getInt("score"));
                 Integer rangeCount = jsonObject.getInt("rangeCount");
                 Double rangeRate = jsonObject.getDouble("rangeRate");
                 list.add(new ReportSubjectRangeDTO(score, rangeCount, rangeRate));

+ 4 - 4
stmms-biz/src/main/java/cn/com/qmth/stmms/biz/report/utils/unit/BaseCalculatorUnit.java

@@ -86,7 +86,7 @@ public class BaseCalculatorUnit {
         // 递归法计算标准差
         stdev = Math.sqrt(BigDecimalUtils.sub(BigDecimalUtils.div(sumScore2, count),
                 BigDecimalUtils.mul(avgScore, avgScore)));
-        if (stdev == Double.NaN) {
+        if (Double.isNaN(stdev)) {
             stdev = 0;
         }
         // 难度
@@ -98,12 +98,12 @@ public class BaseCalculatorUnit {
                 * (sumTotalScore2 - sumTotalScore * sumTotalScore / count));
         if (temp != 0 && Double.NaN != temp) {
             discrimination = (aggScore - sumScore * sumTotalScore / count) / temp;
+            if (Double.isNaN(discrimination)) {
+                discrimination = 0;
+            }
         } else {
             discrimination = 0;
         }
-        if (Double.NaN == discrimination) {
-            discrimination = 0;
-        }
         // 及格率
         passRate = BigDecimalUtils.div(passCount, count);
         // 优秀率