数学任务,转换10星级评分上升和下降

数学任务,转换10星级评分上升和下降

问题描述:

我想改变我的文章评级脚本从10星评级(gdsr)上下(如youtube)。数学任务,转换10星级评分上升和下降

但我不想放松我目前的收视率,所以我的想法是将当前(10星级gdStarRating)转换为上下降。

我的问题是数学公式......我没有明白。

例如

10 members has voted, the rating is 9 
= 9 upvotes and 1 downvote 

另一示例

18 member has voted, the rating is 9.6 
= ?? upvotes and ?? downvotes 

15 member has voted, the rating is 8.8 
= ?? upvotes and ?? downvotes 

什么是正确的(PHP)数学公式?

+0

不能的10只2比例转换成精确的方式。你可能已经决定,5以上的所有东西都在上面,下面在下降。你有什么最初的信息?只有平均数和每个投票的确切细节的选民数量? – Cheery 2014-11-07 02:50:49

+0

这里没有正确的论坛。例如,评分可以是7.1并且有10票。所有这些人中的10人可以投5票以上。或者这些人中的5人可能已经投了10票,另外5票投了4票。还有其他5人。为什么选择较少的信息?我认为平均评分更好。 – CRABOLO 2014-11-07 02:57:14

+0

在我的理解中,一个积极的星级评分总是转化为一个投票。因为试图将积极的星级评分转化为投票和反对票似乎是错误的。除非您认为:您是否在乎!您需要单独提取投票和反对投票。 – Uours 2014-11-07 03:33:16

乘以总票数的#的评级比获得向上/向下比率是最接近您的当前票/ 10比

18 member has voted, the rating is 9.6 
= ?? upvotes and ?? downvotes 

的9.6等级转换成96% upvotes,18 * 96%= 17.23 => 17向上票1向下表决

15 member has voted, the rating is 8.8 
= ?? upvotes and ?? downvotes 

8.8等级转换成88%upvotes,15 * 88%= 13.2 => 13向上投票2向下票

PHP例如

$totalvotes = 18; 
$rating = 9.6; 
$upvotes = round($totalvotes * ($rating/10)); 
$downvotes = $totalvotes - $upvotes;