评分系统的数学公式

时间:2016-08-24 10:16:32

标签: javascript math 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;
                }

我会承认我的数学技能不是很好(我对数字感到厌倦)很抱歉,如果我的问题冒犯了那些严格尝试自己的事情,但这只是在煎我的大脑!

提前感谢您提供任何帮助!

3 个答案:

答案 0 :(得分:6)

简单:

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

答案 1 :(得分:3)

请试试这个

stars =得分> 100? 0:Math.floor(得分* 0.1)/ 2

答案 2 :(得分:1)

var result = Math.floor(score * 0.1) / 2
stars = score > 100 ? 0: result