Commit e7034c99 by hzc

运算结果精确到八位

parent 5885aa5e
......@@ -224,7 +224,7 @@ public class DriveIndIdObjCalActor extends AbstractActor{
String driveIndValue = AviatorEvaluator.execute(driveIndFormula).toString();
//保留四位小数
if (!driveIndValue.equals("NaN") && !driveIndValue.equals("Infinite")) {
driveIndValue = String.format("%.4f",
driveIndValue = String.format("%.8f",
new BigDecimal(Double.valueOf(driveIndValue)));
}
if ("0".equals(isTest)) {//试运行
......
......@@ -203,7 +203,7 @@ public class DriveIndDefService {
result = AviatorEvaluator.execute(driveIndFormula).toString();
//保留四位小数
if(!"NaN".equals(result) && !"Infinite".equals(result)) {
result = String.format("%.4f",
result = String.format("%.8f",
new BigDecimal(Double.valueOf(result)));
}
}
......
......@@ -298,7 +298,7 @@ public class IndScorecardService {
improveScore = scoreCard.getLimitScore();
}
}
indImproveScoreValue = String.format("%.4f",new BigDecimal(improveScore));
indImproveScoreValue = String.format("%.8f",new BigDecimal(improveScore));
result.put("improveScore",indImproveScoreValue);
}else{
//没有同期值
......@@ -313,7 +313,7 @@ public class IndScorecardService {
logger.error("id:"+indScorecardId+" 的评分卡不存在");
}
try {
indScoreValue = String.format("%.4f",new BigDecimal(baseScoreValue));
indScoreValue = String.format("%.8f",new BigDecimal(baseScoreValue));
} catch (Exception e) {
logger.error("indId:"+indId+";date:"+date+";compareObj:"
+compareObj+" indScoreValue error:"+baseScoreValue);
......
......@@ -289,20 +289,20 @@ public class ScoreRuleService {
//得分类型:0 指标值直接参与计算
if("0".equals(scoreRule.getScoreType()) ||
"2".equals(scoreRule.getScoreType())) {
String scoreValue = String.format("%.4f",
String scoreValue = String.format("%.8f",
new BigDecimal((Double)AviatorEvaluator.execute(calFormula)));
objResult.setScoreValue(scoreValue);
objResult.setImproveValue("0.0");
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
String scoreValue = String.format("%.4f",
String scoreValue = String.format("%.8f",
new BigDecimal((Double)AviatorEvaluator.execute(calFormula)));
String improveValue = String.format("%.4f",
String improveValue = String.format("%.8f",
new BigDecimal((Double)AviatorEvaluator.execute(improveCalFormula)));
objResult.setScoreValue(scoreValue);
objResult.setImproveValue(improveValue);
}
}
objResult.setScoreSumValue(String.format("%.4f",new BigDecimal(scoreSumValue)));
objResult.setScoreSumValue(String.format("%.8f",new BigDecimal(scoreSumValue)));
return objResult;
}
......@@ -341,9 +341,9 @@ public class ScoreRuleService {
}
}
}
objResult.setScoreValue(String.format("%.4f",new BigDecimal(scoreValue)));
objResult.setImproveValue(String.format("%.4f",new BigDecimal(improveValue)));
objResult.setScoreSumValue(String.format("%.4f",new BigDecimal(scoreSumValue)));
objResult.setScoreValue(String.format("%.8f",new BigDecimal(scoreValue)));
objResult.setImproveValue(String.format("%.8f",new BigDecimal(improveValue)));
objResult.setScoreSumValue(String.format("%.8f",new BigDecimal(scoreSumValue)));
return objResult;
}
......
......@@ -410,7 +410,7 @@ public class IndicatorsReportService {
//算指标提升率
if(indReportData.getEffectiveIndCount()!=null &&
indReportData.getIndImproveCount()!=null) {
String improveRate = String.format("%.4f",
String improveRate = String.format("%.8f",
new BigDecimal(indReportData.getIndImproveCount()*1.0/
indReportData.getEffectiveIndCount()*100));
indReportData.setIndImproveRate(improveRate);
......
......@@ -245,14 +245,14 @@ public class TestScoreRuleService {
//得分类型:0 指标值直接参与计算
if("0".equals(scoreRule.getScoreType()) ||
"2".equals(scoreRule.getScoreType())) {
String scoreValue = String.format("%.4f",
String scoreValue = String.format("%.8f",
new BigDecimal((Double)AviatorEvaluator.execute(calFormula)));
objResult.setScoreValue(scoreValue);
objResult.setImproveValue("0.0");
}else if("1".equals(scoreRule.getScoreType())) {//1 指标得分分数参与计算(综合评分和改善提升分开算)
String scoreValue = String.format("%.4f",
String scoreValue = String.format("%.8f",
new BigDecimal((Double)AviatorEvaluator.execute(calFormula)));
String improveValue = String.format("%.4f",
String improveValue = String.format("%.8f",
new BigDecimal((Double)AviatorEvaluator.execute(improveCalFormula)));
objResult.setScoreValue(scoreValue);
objResult.setImproveValue(improveValue);
......@@ -291,8 +291,8 @@ public class TestScoreRuleService {
}
}
}
objResult.setScoreValue(String.format("%.4f",new BigDecimal(scoreValue)));
objResult.setImproveValue(String.format("%.4f",new BigDecimal(improveValue)));
objResult.setScoreValue(String.format("%.8f",new BigDecimal(scoreValue)));
objResult.setImproveValue(String.format("%.8f",new BigDecimal(improveValue)));
return objResult;
}
......
......@@ -50,7 +50,7 @@ public class CalculateUtils {
value = AviatorEvaluator.execute(formula.toString());
if(value!=null && !"NaN".equals(value.toString()) && !"Infinite".equals(value.toString())) {
try {
gowthValue = String.format("%.4f",
gowthValue = String.format("%.8f",
new BigDecimal((Double)value));
} catch (Exception e) {
logger.error("计算异常:"+formula.toString());
......@@ -146,7 +146,7 @@ public class CalculateUtils {
formula.deleteCharAt(formula.length()-1);
}
if(StringUtils.isNotBlank(formula.toString())) {
calValue = String.format("%.4f",
calValue = String.format("%.8f",
new BigDecimal(((Number)AviatorEvaluator.execute(formula.toString())).doubleValue()));
}
}
......@@ -192,7 +192,7 @@ public class CalculateUtils {
if(!"()".equals(formula.toString())) {
formula.append("/").append(size).append(".0");
//计算平均值
calValue = String.format("%.4f",
calValue = String.format("%.8f",
new BigDecimal((Double)AviatorEvaluator.execute(formula.toString())));
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment