= "90" && unalumno.notas = "80" && unalumno-6ren">
gpt4 book ai didi

javascript - 我的 if 语句 "between"给出了错误的结果

转载 作者:行者123 更新时间:2023-11-28 11:49:32 26 4
gpt4 key购买 nike

我是新来的。我的 if/else if 语句有问题。

我得到了这个:

  if (unalumno.notas >= "90" && unalumno.notas <= "100") {
unalumno.notas = "A";
} else if (unalumno.notas >= "80" && unalumno.notas <= "89") {
unalumno.notas = "B";
} else if (unalumno.notas >= "70" && unalumno.notas <= "79") {
unalumno.notas = "C";
} else if (unalumno.notas >= "60" && unalumno.notas <= "69") {
unalumno.notas = "D";
} else if (unalumno.notas <= "59") {
unalumno.notas = "F";
}

所有 else if 语句都以字母形式给出正确的结果,但第一个 if 继续以数字形式给出结果。希望能理解我。对不起英语哈哈

祝你有美好的一天

最佳答案

正如我在评论中所说,解析整数并将所有比较更改为数字而不是字符串:

var unalumnoNotas = parseInt(unalumno.notas, 10);
if (unalumnoNotas >= 90 && unalumnoNotas <= 100) {
notas = "A";
} else if (unalumnoNotas >= 80 && unalumnoNotas <= 89) {
notas = "B";
} else if (unalumnoNotas >= 70 && unalumnoNotas <= 79) {
notas = "C";
} else if (unalumnoNotas >= 60 && unalumnoNotas <= 69) {
notas = "D";
} else if (unalumnoNotas <= 59) {
notas = "F";
}

此外,如果抛出错误或在值大于 100 时提前返回,则可以删除所有额外的 && <= 89

if (unalumnoNotas > 100) {
throw new Error('Number too high');
}

if (unalumnoNotas >= 90) {
notas = "A";
} else if (unalumnoNotas >= 80) {
notas = "B";
} else if (unalumnoNotas >= 70) {
notas = "C";
} else if (unalumnoNotas >= 60) {
notas = "D";
} else if (unalumnoNotas <= 59) {
notas = "F";
}

关于javascript - 我的 if 语句 "between"给出了错误的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40347082/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com