评级系统的数学公式

math formula for rating system

我想知道是否有更好的方法来根据百分比值创建我的 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;
                }

我承认我的数学技能不是很好(我对数字有阅读障碍)如果我的问题冒犯了那些对自己尝试很严格的人,我很抱歉,但这只是在折磨我的大脑!

在此先感谢您提供的任何帮助!

简单:

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