Математическая формула для рейтинговой системы

Я хотел бы знать, будет ли лучший способ создать мой stars переменная на основе процентного значения.

Все, что мне нужно, это определить рейтинг звезд 1, 1,5, 2, 2,5 и т. Д. На основе процентного значения.

Я сделал это с помощью оператора switch, но подумал, есть ли математическая формула, которая могла бы сделать это?

Просто кажется немного затянутым программно, чтобы сделать это таким образом?

var stars = 0;

                switch (true) {
                    case score === 100:
                        stars = 5;
                        break;
                    case score >= 90:
                        stars = 4.5;
                        break;
                    case score >= 80:
                        stars = 4;
                        break;
                    case score >= 70:
                        stars = 3.5;
                        break;
                    case score >= 60:
                        stars = 3;
                        break;
                    case score >= 50:
                        stars = 2.5;
                        break;
                    case score >= 40:
                        stars = 2;
                        break;
                    case score >= 30:
                        stars = 1.5;
                        break;
                    case score >= 20:
                        stars = 1;
                        break;
                    case score >= 10:
                        stars = 0.5;
                        break;
                    case score >= 0:
                        stars = 0;
                        break;
                }

Я признаю, что мои математические навыки не очень хороши (у меня проблемы с числами), поэтому извините, если мой вопрос оскорбляет тех, кто строго относится к попыткам сделать что-то самостоятельно, но это просто жарит мой мозг!

Заранее спасибо за любую помощь!

3 ответа

Решение

Просто:

stars = Math.floor(score / 10) / 2

Пожалуйста, попробуйте это

звезды = оценка> 100? 0: Math.floor(оценка * 0,1) / 2

var result = Math.floor(score * 0.1) / 2
stars = score > 100 ? 0: result 
Другие вопросы по тегам