评级系统的数学公式
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
我想知道是否有更好的方法来根据百分比值创建我的 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