Вычисление рейтинга в диапазоне от 0 до 5
Как лучше вычислить значение рейтинга от 0 до 5
- 0 - минимальный рейтинг
- 5 - максимальный рейтинг
Допустим
- Лайков 20422
- Дизлайков 1002
- Лайков 0
- Дизлайков 1002
- Лайков 20422
- Дизлайков 0
Как в данном случаи получить результат? C плавающей запятой, после запятой не более 1 цифры, в десятых.
Ответы (1 шт):
Как вариант - реализовать самым банальным способом, изначально высчитывать рейтинг от 0 до 1, а затем умножать его на 5.
Также, нужно не забыть о граничном случае, и когда оценок нет - возвращать рейтинг 0.
Как это будет выглядеть:
Пусть, рейтинг - это отношение числа лайков к общему числу оценок.
Тогда, в случае:
- Лайков 20422
- Дизлайков 1002
Имеем: 20422 / (20422 + 1002) = 0.9532 * 5 = 4.766 ~ 4.8.
Общая формула: 5 * (x / (x + y)), где x - количество лайков, y - количество дизлайков.
И в вариантах:
- Лайков 0
- Дизлайков 1002
- Лайков 20422
- Дизлайков 0
Согласно формуле получаем 0 и 5, соответственно.
P.S А вообще, это только один из вариантов (самый очевидный) и придумать их можно очень много, в зависимости от логики вашего проекта.