Предположим, что у нас есть две переменные:Проверьте переменные значения близки друг к другу
int test = 50;
int test1 = 45;
Теперь я хочу, чтобы проверить, если test1
находится недалеко от test
в -5/+ 5 включительно. Как мне это сделать?
Предположим, что у нас есть две переменные:Проверьте переменные значения близки друг к другу
int test = 50;
int test1 = 45;
Теперь я хочу, чтобы проверить, если test1
находится недалеко от test
в -5/+ 5 включительно. Как мне это сделать?
Похоже, вы просто хотите проверить, находится ли разница между двумя числами в пределах определенного диапазона.
// Get the difference
int d = test - test1;
// Test the range
if (-5 <= d && d <= 5)
{
// Within range.
}
else
{
// Not within range
}
Try:
if (Math.Abs(test - test1) <= 5)
{
// Yay!!
}
Это вызывает математическую функцию "Absolute", которая возвращает положительное значение, даже если отрицательный. Например. Math.Abs (-5) = 5
using System;
...
if (Math.Abs(test - test1) <= 5) return true;
const int absoluteDifference = 5;
int test = 50;
int test1 = 45;
if (Math.Abs(test - test1) <= absoluteDifference)
{
Console.WriteLine("The values are within range.");
}
Вы можете капсулированное это в функции.
К сожалению, вы не можете использовать общий тип, потому что это не поддерживается для оператора +.
Так что он должен быть реализован для int и любых других типов.
public static bool DoesDifferenceExceed(int value, int differentValue, int maximumAllowedDiffernece)
{
var actualDifference = Math.Abs(value - differentValue);
return actualDifference <= maximumAllowedDiffernece;
}