Commit e7034c99 by hzc

运算结果精确到八位

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