我的if语句"介于"之间给了我错误的结果

Iva*_* J. 0 javascript jquery if-statement

我是新来的.我的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";
  }
Run Code Online (Sandbox Code Playgroud)

所有其他if语句都给了我正确的字母结果,但第一个如果继续给出数字结果.希望能理解我.对不起,英语大声笑

祝你有美好的一天

Rob*_* M. 6

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

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";
}
Run Code Online (Sandbox Code Playgroud)

此外,如果您抛出错误或如果值大于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";
}
Run Code Online (Sandbox Code Playgroud)