瀏覽代碼

修复avg函数的计算错误的bug

master
youseries 6 年之前
父節點
當前提交
c99cad7507
  1. 3
      ureport2-core/src/main/java/com/bstek/ureport/build/aggregate/AvgAggregate.java

3
ureport2-core/src/main/java/com/bstek/ureport/build/aggregate/AvgAggregate.java

@ -113,6 +113,7 @@ public class AvgAggregate extends Aggregate {
condition=expr.getCondition(); condition=expr.getCondition();
} }
BigDecimal result=new BigDecimal(0); BigDecimal result=new BigDecimal(0);
int size=0;
for(Object obj:list){ for(Object obj:list){
if(condition!=null){ if(condition!=null){
boolean ok=condition.filter(cell, cell, obj, context); boolean ok=condition.filter(cell, cell, obj, context);
@ -125,8 +126,8 @@ public class AvgAggregate extends Aggregate {
continue; continue;
} }
result=result.add(Utils.toBigDecimal(value)); result=result.add(Utils.toBigDecimal(value));
size++;
} }
int size=list.size();
result=result.divide(new BigDecimal(size),8,BigDecimal.ROUND_HALF_UP); result=result.divide(new BigDecimal(size),8,BigDecimal.ROUND_HALF_UP);
return result; return result;
} }

Loading…
取消
儲存