1
我有一個表(評論),它存儲評分的值(1-5)。我將使用這些評分的總和作爲總分。PHP評分系統
我有5顆星在頁面上顯示或取決於整體價值。
我的總分是通過計算所有評分的總值除以表中的評論數量得出的。這給每個時間5以下的值...很好。
但是,我現在有一個問題,例如值可能是1.5或1.75。如果數值是1.5,我會顯示1個半星和3個半星關閉。我應該如何確定值是否爲1.75,以僅顯示1.5值星。
希望是有道理的。
我有一個表(評論),它存儲評分的值(1-5)。我將使用這些評分的總和作爲總分。PHP評分系統
我有5顆星在頁面上顯示或取決於整體價值。
我的總分是通過計算所有評分的總值除以表中的評論數量得出的。這給每個時間5以下的值...很好。
但是,我現在有一個問題,例如值可能是1.5或1.75。如果數值是1.5,我會顯示1個半星和3個半星關閉。我應該如何確定值是否爲1.75,以僅顯示1.5值星。
希望是有道理的。
這應該是一個簡單的數學問題,因爲你的分辨率爲1/2,乘以二,圓,然後除以2:
round(x * 2)/2
round((1.75) * 2)/2 = 2
round((1.65) * 2)/2 = 1.5
<?php
$tests = array(-1, 0, 0.25, 0.5, 1, 1.5, 1.75, 3, 4.22, 6);
foreach($tests as $test)
echo "Initial rate = ".$test.", adjusted rate = ".adjustRate($test)."\n";
function adjustRate($val)
{
if ($val < 0)
return 0;
if ($val > 5)
return 5;
return floor($val * 2)/2;
}
給出例如:
Initial rate = 1.75, adjusted rate = 1.5
也許你可以發佈相關的代碼? –
具有比例的評級系統(例如:1-5,1-10)對於確定評級並不是很好。每個人都有不同的標準,所有這些都會使事情複雜化,而不會增加太多(如果有的話)價值。以Youtube爲例,他們曾經擁有一個明星系統,現在它只是喜歡或不喜歡。請參閱:[UX:比率與喜歡/不喜歡](http://ux.stackexchange.com/questions/4200/rate-vs-like-dislike) – NullUserException
不幸的是,客戶需要有星級評分系統。基本上我只想得到一個完整的數字或一個.5變量的結果。 – puks1978