我正在 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"]),
答案 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