|
@@ -81,13 +81,13 @@ public class AiService {
|
|
|
int scale = Math
|
|
|
.max(getDecimalPlaces(request.getIntervalScore()), getDecimalPlaces(request.getTotalScore()));
|
|
|
int stepCount = request.getStandardAnswer().size();
|
|
|
- String[] scores = StringUtils.split(text, ",");
|
|
|
+ String[] scores = StringUtils.split(text.replaceAll(",", ","), ",");
|
|
|
double[] scoreArray = new double[stepCount];
|
|
|
for (int i = 0; i < stepCount; i++) {
|
|
|
//根据得分率与步骤总分计算实际得分,按最大精度保留小数位数
|
|
|
double score = BigDecimal.valueOf(
|
|
|
- Math.min(Integer.parseInt(scores[i]), 100) * request.getStandardAnswer().get(i).getScore())
|
|
|
- .divide(BigDecimal.valueOf(100), scale, RoundingMode.HALF_UP).doubleValue();
|
|
|
+ Math.min(Integer.parseInt(scores[i].trim()), 100) * request.getStandardAnswer().get(i)
|
|
|
+ .getScore()).divide(BigDecimal.valueOf(100), scale, RoundingMode.HALF_UP).doubleValue();
|
|
|
scoreArray[i] = score;
|
|
|
}
|
|
|
scoreResult.setStepScore(scoreArray);
|