Максимальное количество голосов за против

Эй, пытался найти подобное, но думаю, мой английский подвел меня, лол, ну вот с чем мне нужна помощь, я пытаюсь создать систему голосования с голосованием за / против и хочу показать это так

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