假设我们有两个变量:
int test = 50;
int test1 = 45;
现在我想检查test1
是否在test
附近,在-5 / + 5之内。我该怎么办?
答案 0 :(得分:11)
const int absoluteDifference = 5;
int test = 50;
int test1 = 45;
if (Math.Abs(test - test1) <= absoluteDifference)
{
Console.WriteLine("The values are within range.");
}
答案 1 :(得分:5)
尝试:
if (Math.Abs(test - test1) <= 5)
{
// Yay!!
}
这将调用数学“绝对”函数,即使为负数也会返回正值。例如。 Math.Abs(-5)= 5
答案 2 :(得分:4)
听起来你只想测试两个数字之间的差异是否在一定范围内。
// Get the difference
int d = test - test1;
// Test the range
if (-5 <= d && d <= 5)
{
// Within range.
}
else
{
// Not within range
}
答案 3 :(得分:2)
using System;
...
if (Math.Abs(test - test1) <= 5) return true;
答案 4 :(得分:0)
您可能希望在功能中将其封装 遗憾的是,您无法使用通用类型,因为+运算符不支持此类型 因此需要专门为int和任何其他类型实现它。
public static bool DoesDifferenceExceed(int value, int differentValue, int maximumAllowedDiffernece)
{
var actualDifference = Math.Abs(value - differentValue);
return actualDifference <= maximumAllowedDiffernece;
}