繁体   English   中英

如何使用 if [on hold] 检测数字是否大于 20 或大于 50

[英]How can I detect if a number is greater than 20 or greater than 50 with an if [on hold]

我尝试检测一个数字何时大于 10、20、30、40 等。但这段代码不起作用。

var number = 35;
var text;
if(number >= 10){
text = "> 10"
}
else if(number >= 20){
text = "> 20"
}
else if(number >= 30){
text = "> 30"
}

它只需要我第一个 if

35 ≥ 10。它也是 ≥20 和 ≥30,但您首先检查 ≥10,因此执行第一个if中的语句。 由于条件句的 rest 是else if而不是if ,因此没有测试其他条件句。

理想情况下,首先检查≥30。 然后≥20。 那么≥10。

var number = 35;
var text;

if(number >= 30){
    text = "> 30"
} else if(number >= 20) {
    text = "> 20"
} else if(number >= 10) {
    text = "> 10"
}

颠倒if的顺序。 程序一旦遇到if为真,就会离开if/else语句,因此您需要将那些为假的语句放在第一个为真的语句之前。

if(number >= 30){
    text = "> 30"
}
else if(number >= 20){
    text = "> 20"
}
else if(number >= 10){
    text = "> 10"
}

这将为您提供大于它的最高值。

如果你想知道它大于的所有数字,你可以做类似的事情

text = "";

if(number >= 10){
    text += "> 10\n"
}
if(number >= 20){
    text += "> 20\n"
}
if(number >= 30){
    text += "> 30\n"
}

由于这是不可扩展的(任何大于 30 的数字只会返回 30),你可以做这样的事情,它会给你 10 的倍数,它大于

text = "> " + (number/10) + "0";

你应该做同样的事情,但顺序不同,从大到小,如果它是一个数组,排序将是一个好主意。

var number = 35;
var text;
if(number >= 40){
text = ">= 40"
}
else if(number >= 30){
text = ">= 30"
}
else if(number >= 20){
text = ">= 20"
}
else if(number >= 10){
text = ">= 10"
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM