2012-04-05 66 views
-1

我已經搜索過這個網站和谷歌,儘管這個想法很簡單,但我無法弄清楚。計算最多投票的比例

我需要(如在YouTube上看到的那樣)根據提款和回票的數量計算得票率的百分比。

我有兩個瓦爾,$upvotes$downvotes現在我需要計算$ratio

例如

$upvotes = 3; 
$downvotes = 1; 

這裏的比例必須是75(%)

如果你有

$upvotes = 0; 
$downvotes = 100; 

它需要爲0(%)

如何計算百分比(以PHP計算)?

+1

這個問題是保證產生相同答案的洪水,由於簡單的數學。 :) – Cylindric 2012-04-05 10:09:35

+1

其中大部分來自PHP程序員,不檢查除數爲零。 – Kaz 2012-04-05 21:35:17

回答

11

只需

if(($upvotes+$downvotes) != 0) 
    $percentage = (float)($upvotes/($upvotes+$downvotes))*100; 
    else 
    $percentage = 0; 
+0

謝謝,我知道它應該很簡單,但我不擅長這一點。當它允許我時,我會標記爲正確的。 – MakuraYami 2012-04-05 10:08:55

+1

如果($ upvotes + $ downvotes)= 0? – Dion 2012-04-05 10:18:02

+0

@ DRP96添加了($ upvotes + $ downvotes)= 0的檢查條件。 – heyanshukla 2012-04-05 10:20:59

3

簡單的數學!

$ratio = $upvotes/($upvotes + $downvotes) * 100; 
0

$percent = ($upvotes/($upvotes + $downvotes)) * 100;

1
if($downvotes > 0 || $upvotes >0) { 
$percentage = ($upvotes/($upvotes+$downvotes)); 
} 
elseif($upvotes > 0 && downvotes == 0) { 
$percentage = 1; 
} 
$percentage = round(100*$percentage); 

$percentage .= "%"; // if you want to add % 

我測試了它和它的作品。

+0

嘗試:http://drp-seiten.de/percentage.php?up=7&down=3 – Dion 2012-04-05 10:24:00

0
$percentage = (float) round((100 /($upvotes + $downvotes)) * $upvotes, 2); 
0

我會做一個回合就可以了藏漢,這將結果四捨五入到最接近的整數。 例如。 75.5%= 76%;

$ratio = round((($upvotes/($upvotes+$downvotes))*100), 0, PHP_ROUND_HALF_UP).'%';