我在处理json请求中的某些数字时遇到问题。根据结果,我试图输出一些不同的HTML。具体问题是我来检查一个数字是否大于-1但小于6.代码摘录如下......
else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > -1) {
//Something else happens here
}
else if(parseInt(myvariable, 10) > 6) {
//This is where the third thing should happen, but doesn't?
}
似乎尽管价值是7或70,但第二个'否则'就是它已经达到了。
有没有办法我可以检查数字是否大于-1但小于6,以便它转到下一个条件语句。
我猜这(就像我之前的问题)有一个非常简单的答案所以请原谅我的天真。
提前致谢。
答案 0 :(得分:0)
if条件错误。让我们想一想:myvariable是7。
在你的代码中会发生:
else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > -1) {
**// HERE THE CONDITION IS TRUE, BECAUSE 7 > -1**
}
else if(parseInt(myvariable, 10) > 6) {
// This is where the third thing should happen, but doesn't?
}
您可以将其更改为
else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > 6) {
// This is where the third thing should happen, but doesn't?
}
else if(parseInt(myvariable, 10) > -1) {
// Moved
}
让它发挥作用......
答案 1 :(得分:0)
条件仅在一个被发现为真之前执行。
换句话说,您需要重新订购订单或收紧订单以使当前订单有效。
7高于-1,因此第二个条件解析为true。因此对于7,从不需要第3个条件。
if(parseInt(myvariable, 10) < -1) {
//number is less than -1
}
else if(parseInt(myvariable, 10) > 6) {
//number is above 6
}
else {
//neither, so must be inbetween -1 an 6
}
答案 2 :(得分:0)
是的,因为你写的大于-1的任何数字都不会抛出第三个代码块,它会抛出第二个代码,就像你说的那样“数字大于-1但小于6 < / strong>“你可以这样做:
else if(parseInt(myvariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myvariable, 10) > -1 && parseInt(myvariable, 10) < 6) {
//Something else happens here
}
答案 3 :(得分:0)
另一种解决方案是改变第二行:
else if(parseInt(myvariable, 10) > -1)
为:
else if(parseInt(myvariable, 10) <= 6)
有很多方法可以写这个。
答案 4 :(得分:0)
我想你可以轻松做到这样:
考虑你的变量值是(7):
else if(parseInt(myVariable, 10) < -1) {
//this is where one thing happens
}
else if(parseInt(myVariable, 10) > -1) {
//now 'myVariable' is greater than -1, then let's check if it is greater than 6
if(parseInt(myVariable, 10) > 6) {
//this where what you should do if 'myVariable' greater than -1 AND greater than 6
}
}