Гласуване нагоре надолу общо макс

Хей, опитах се да потърся подобни, но предполагам, че английският ми се проваля хаха, добре, ето за какво имам нужда от помощ, опитвам се да направя система за гласуване с гласуване нагоре/надолу и искам да го покажа така

5.3/10

но нямам идея как да накарам общото "5.3" да не надхвърля 100% = 10, ето го кодът ми досега

<?php 

$Vote_up = 804;
$Vote_down = 942;
$total = $Vote_up + $Vote_down;
$result = 100;

echo number_format($total/$result,1,",",".") . "/10"; 

?>

резултатът е 17,5/10

пс. нов в php, така че бъдете лесни за мен ^^


person user3063654    schedule 03.12.2013    source източник
comment
как искате да изчислите това 5.3/10? 5.3 не прилича на другите числа във вашия въпрос...   -  person msturdy    schedule 04.12.2013
comment
Изглежда, че математиката ви е грешна. Сигурни ли сте в това, което се опитвате да направите?   -  person Novak    schedule 04.12.2013
comment
@msturdy; съжалявам забележете, че сега не е добре да правите както публикуване, така и промяна едновременно хаха, последният е правилен 17.5.. @Tyymo имам това усещане хаха да, сигурен съм, че най-малкото искам да направя общо / 10, но някак си останах как ще го направя направете 100% до 10 в десетични знаци   -  person user3063654    schedule 04.12.2013
comment
помислете как ще определите резултатите... трябва да решите как искате да покажете това на потребителя!   -  person msturdy    schedule 04.12.2013
comment
искам да го покажа като пример 5/10, ако 555 гласуват нагоре и надолу (общо 1110) и искам /10 да е 100%, ако има някакъв смисъл?   -  person user3063654    schedule 04.12.2013


Отговори (1)


наистина съм зле по математика, но мисля, че това трябва да е работа

$Vote_up = 555;
$Vote_down = 555;
$total = $Vote_up + $Vote_down;

if( $total <= 0 ){
    $score = -11;
} else {
    $score = (($Vote_up / $total) + ($Vote_down / $total) * 10) * -1;
}
echo floor( $score + 11 ) . '/10';

ако някой има по-добро решение, моля, бих искал да го знам - благодаря!

person ins0    schedule 03.12.2013
comment
много хубаво, точно как го исках, единственият проблем е, че показва 6/10, ако е 50/50, но поне не надхвърля 10, както исках :D - person user3063654; 04.12.2013