我如何显示评分的平均值

时间:2021-03-28 17:12:24

标签: flutter

我正在 Flutter 中制作一个应用程序,您可以在其中对页面进行评分,这是我使用的一些代码,但我对如何显示平均值感兴趣。

Row(
                      children: [
                        Expanded(flex: 4, child: Text("Stars given: ")),
                        Expanded(
                            flex: 6,
                            child: DropdownButton<int>(
                                value: rating,
                                items: List<DropdownMenuItem<int>>.generate(
                                    5,
                                    (index) => DropdownMenuItem<int>(
                                          value: index + 1,
                                          child: _buildRatingStars(index + 1),
                                        )),
                                onChanged: (value) {
                                  newState(() => rating = value);
                                }))
                      ],
                    ),

Text _buildRatingStars(int rating) {
  String stars = '';
  for (int i = 0; i < rating; i++) {
    stars += '⭐ ';
  }
  stars.trim();
  return Text(stars);
}
 _buildRatingStars(snapshot
                                                  .data
                                                  .documents[index]
                                                  .data["rating"]),

1 个答案:

答案 0 :(得分:0)

理想的情况是,当我们有大量数据时,在服务器端执行平均逻辑,以免影响应用程序的性能。

在您的情况下,您应该将数组中所有评分的总和存储在一个变量中,然后将结果除以评分数。所以你会得到你的平均值。

示例

int sumRating = 0;
List<int> listRating = [1,4,2,5,2,1];

for (var i = 0; i < listRating; i++) {
  sumRating += listRating[i];
}

var average = (sumRating / listRating.length); // This is average