天天看點

求若幹個小數的平均值

BigDecimal gradeNum = new BigDecimal(0.0);
               for (PlatformEvaluate evaluate : evaList) {
                  if (evaluate.getPevaluatenum() != null) {
                     gradeNum = gradeNum.add(evaluate.getPevaluatenum()); // 将評分累加
                  }
               }
               int r = gradeNum.compareTo(BigDecimal.ZERO); // 和0,Zero比較
               if (r > 0) {
                  // 相除 保留一位小數
                  Double a = Arith.div(gradeNum.doubleValue(), evaList.size(), 1);
                  DecimalFormat df1 = new DecimalFormat("##########0.0");
                  double big_decimal3 = Double.valueOf(df1.format(a));
                  BigDecimal decimal = new BigDecimal(big_decimal3);
                  BigDecimal setScale = decimal.setScale(1, BigDecimal.ROUND_HALF_DOWN);

                  p.setGradeNum(setScale);
               }