基本上,我正在编写一个允许用户发布体育赛事的网站。然后成员可以对每个事件进行评分。评分系统为 10 分制:0.5、1.0、1.5、2.0、2.5、3.0、3.5、4.0、4.5、5.0。
有四类:
组织,物有所值,设施,乐趣因素
float
我使用字段将值存储在 mysql 数据库中。
我使用以下虚拟数据来测试系统。
- org = 2,v4m = 4.5,fac = 4,fun = 2.5;
- org = 3.5,v4m = 4,fac = 4.5,fun = 1.5;
- org = 1,v4m = 5,fac = 4.5,fun = 2.5;
当基于上述显示事件评级时,我希望每个类别都四舍五入到上述 5 星评级系统。
到目前为止,我有以下代码,除了四舍五入之外,它似乎工作正常。
例如:目前三个组织评级的平均值是2.1666666666667
我想四舍五入的2.0
。如果要平均,4.6666666666667
我希望它四舍五入4.5
。
但是我该怎么做呢?
到目前为止,这是我的代码:
// Count how many ratings this event has
if($ratingCount = $event->getEventRatingCount($event_id)){
// Get ratings for this event
$eventRating = $event->getEventRatings($event_id);
$organisation = 0;
$valueForMoney = 0;
$facilities = 0;
$funFactor = 0;
$overall = 0;
foreach($eventRating AS $rating){
$organisation = ($organisation + $rating['organisation'] / $ratingCount);
$valueForMoney = ($ValueForMoney + $rating['value_for_money'] / $ratingCount);
$facilities = ($facilities + $rating['facilities'] / $ratingCount);
$funFactor = ($funFactor + $rating['fun_factor'] / $ratingCount);
}
echo '<br />';
echo $organisation . '<br />';
echo $valueForMoney . '<br />';
echo $facilities . '<br />';
echo $funFactor . '<br />';
echo $overall = ($organisation + $valueForMoney + $facilities + $funFactor) / $ratingCount);
}else{
// no ratings for this event
}
使用虚拟数据,我目前得到以下值:
2.1666666666667
1.6666666666667
4.3333333333333
2.1666666666667
3