Sot*_*ris 81 javascript if-statement
我想检查一个值是否在可接受的范围内.如果是,做某事; 否则,别的东西.
范围是0.001-0.009.我知道如何使用multiple if检查这个,但我想知道是否有任何方法可以在一个if语句中检查它.
Poi*_*nty 183
你问一个关于数字比较的问题,所以正则表达式实际上与问题无关.您不需要"多个if"语句来执行此操作:
if (x >= 0.001 && x <= 0.009) {
// something
}
Run Code Online (Sandbox Code Playgroud)
你可以自己写一个"between()"函数:
function between(x, min, max) {
return x >= min && x <= max;
}
// ...
if (between(x, 0.001, 0.009)) {
// something
}
Run Code Online (Sandbox Code Playgroud)
Ale*_*der 32
这是一个只有一个比较的选项.
// return true if in range, otherwise false
function inRange(x, min, max) {
return ((x-min)*(x-max) <= 0);
}
console.log(inRange(5, 1, 10)); // true
console.log(inRange(-5, 1, 10)); // false
console.log(inRange(20, 1, 10)); // false
Run Code Online (Sandbox Code Playgroud)
Aln*_*tak 17
如果你必须使用正则表达式(实际上,你不应该!)这将起作用:
/^0\.00([1-8]\d*|90*)$/
Run Code Online (Sandbox Code Playgroud)
应该工作,即
^ 以前没事,0.00(nb:字符的反斜杠转义.)$:其次没有别的Har*_*_OK 11
如果您已经在使用lodash,则可以使用该inRange()功能:https :
//lodash.com/docs/4.17.15#inRange
_.inRange(3, 2, 4);
// => true
_.inRange(4, 8);
// => true
_.inRange(4, 2);
// => false
_.inRange(2, 2);
// => false
_.inRange(1.2, 2);
// => true
_.inRange(5.2, 4);
// => false
_.inRange(-3, -2, -6);
// => true
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
194595 次 |
| 最近记录: |