2012-04-05 17 views
-1

Ich habe diese Seite und Google gesucht und obwohl die Idee ziemlich einfach ist, kann ich es nicht herausfinden.Berechne den Prozentsatz der oben abgegebenen Stimmen

Ich muss (wie auf YouTube gesehen) berechnen Sie die% der Up-Stimmen auf der Grundlage der Anzahl der Up-Stimmen und Down-Stimmen.

Ich habe zwei Vars, $upvotes und $downvotes jetzt ich brauche $ratio

Zum Beispiel berechnen

$upvotes = 3; 
$downvotes = 1; 

Das Verhältnis hier braucht 75 (%)

Wenn Sie

sein müssen
$upvotes = 0; 
$downvotes = 100; 

Es braucht zu 0 (%)

Wie berechne ich den Prozentsatz (in PHP)?

+1

Diese Frage wird garantiert zu einer Flut von identischen Antworten aufgrund der einfachen Mathematik führen. :) – Cylindric

+1

Und die meisten von ihnen, von PHP-Programmierern, überprüfen Sie nicht den Teiler für Null. – Kaz

Antwort

11

einfach

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

Danke, ich wusste, es sollte ziemlich einfach sein, aber ich bin nicht gut darin. Ill markiert als richtig, wenn es mir erlaubt. – MakuraYami

+1

Und wenn ($ upvotes + $ downvotes) = 0? – Dion

+0

@ DRP96 hat die Überprüfungsbedingung für ($ upvotes + $ downvotes) = 0 hinzugefügt. – heyanshukla

3

Einfache Mathematik!

$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 % 

ich es getestet und es funktioniert.

+0

Versuchen Sie: http://drp-seiten.de/percentage.php?up=7&down=3 – Dion

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

Ich würde auch eine Runde machen, dies wird das Ergebnis auf die nächste ganze Zahl runden. z. 75,5% = 76%;

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