使用模数确定值是否在范围内
Determine if value is within range, using modulus
我想确定一个值是否在一个范围内。
所有值都是度数 (0 - 359),当 end
值小于 start
时会出现问题(因为模数为 360)。
我需要以下语句才能 return 正确:
isInRange(359 % 360, 359, 2); // Returns false
isInRange(180 % 360, 179, 182); // Returns true
function isInRange(rotation, start, end){
return (rotation >= start && rotation <= end);
}
如有必要,可以确定旋转方向。
function isInRange(rotation, start, end){
return (rotation >= start && rotation <= end) || (rotation >= end && rotation <= start);
}
检查旋转是否在开始和结束之间,无论 start
和 end
哪个更大。
我想确定一个值是否在一个范围内。
所有值都是度数 (0 - 359),当 end
值小于 start
时会出现问题(因为模数为 360)。
我需要以下语句才能 return 正确:
isInRange(359 % 360, 359, 2); // Returns false
isInRange(180 % 360, 179, 182); // Returns true
function isInRange(rotation, start, end){
return (rotation >= start && rotation <= end);
}
如有必要,可以确定旋转方向。
function isInRange(rotation, start, end){
return (rotation >= start && rotation <= end) || (rotation >= end && rotation <= start);
}
检查旋转是否在开始和结束之间,无论 start
和 end
哪个更大。