Android+MySQL评分系统:评分计算方法及公式问询
关于App评分系统的计算方式
嘿,既然你已经搞定了RatingBar的实现,那咱们来聊聊评分计算这事儿,其实最常用的方式超级直观,大部分App都是这么玩的:
最通用的算术平均分计算法
这是最普遍也最容易理解的计算方式,公式很简单:算术平均分 = 所有用户评分的总和 ÷ 参与评分的用户总数
拿你举的例子来算:用户1给5星,用户2给3星,用户3给4星,总和是5+3+4=12,评分人数是3,那结果就是12÷3=4.0,也就是4星。
其他可选的计算方式(按需选择)
如果你的App有特殊需求,也可以考虑以下两种,但一般中小App用算术平均就足够了:
- 加权平均分:给不同用户的评分赋予不同权重,比如老用户、活跃用户的评分权重更高,公式是
加权平均分 = (评分1×权重1 + 评分2×权重2 + ... + 评分n×权重n) ÷ 总权重 - 中位数评分:把所有评分按高低排序后取中间值,比如如果有5个用户评分是3、3、4、5、5,中位数就是4,适合避免极端评分(比如恶意打1星或5星)的影响,但缺点是没法体现所有用户的整体倾向。
开发中的小提示
- 计算后可以根据需求保留小数位数,比如显示
4.0或者4,如果用户量多了可能会出现3.7这种带小数的评分,显示的时候可以做格式化处理 - 记得要过滤掉无效评分(比如用户没选就提交的情况),确保参与计算的都是有效评分
内容的提问来源于stack exchange,提问作者Amine Choukri
相关产品推荐
相关产品推荐

