У меня есть проект CLR, который я строю.Программа работает следующим образом:
Шаг 1: пользователь вводит заголовок опроса, затем нажимает кнопку Рассчитать.
Шаг 2: пользователь вводит наблюдаемые заголовки и вводит их в текстовые поля
Шаг 3: пользовательнажимает кнопки для вычисления разницы между вычисленными и наблюдаемыми заголовками
Шаг 4: Разница в заголовках помещается в новые текстовые поля
Хорошо, поэтому в основном у нас есть калиброванный компас, и мы наблюдаем заголовкина вторичном компасе относительно первого.Разница между этими двумя заголовками - наш окончательный результат.
Я пытаюсь написать оператор If / Else, который оценит разницу и запишет число определенным цветом на основе того, пройдет ли оно или нет.критерий допуска 0,5.
В настоящее время я использую:
varOut1 = (DiffCalc1 - ObsHdgDbl);
if (varOut1 < .5) {
this->Diff1->Font = (gcnew System::Drawing::Font(L"Arial", 8.25F, System::Drawing::FontStyle::Bold, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(0)));
this->Diff1->ForeColor = System::Drawing::Color::SpringGreen;
}
else {
this->Diff1->Font = (gcnew System::Drawing::Font(L"Arial", 9, System::Drawing::FontStyle::Regular, System::Drawing::GraphicsUnit::Point,
static_cast<System::Byte>(0)));
this->Diff1->ForeColor = System::Drawing::Color::Red;
}
Diff1Final = (varOut1.ToString("n2"));
Diff1->Text = Diff1Final;
Пока что это работает до некоторой степени ... но проблема в том, что иногда разница является отрицательным числом.
Пример: CalculatedHdg = 40,45, ObservedHdg = 40,52, Diff1 = .07 В этом примере код работает, потому что он находится в пределах описанного оператора, поэтому вывод отображается зеленым.
Если выЕсли ObservedHdg = 41,52, то вывод печатается красным цветом ... Однако, если у вас ObservedHdg = 31,52, то вывод по-прежнему остается зеленым, даже если общая разница выше 0,5.Разница может быть положительным или отрицательным числом, основанным на наблюдаемом значении, поэтому мне нужно утверждение, которое оценит, находится ли Diff1 в пределах допуска .5, положительный или отрицательный.
Я немного заржавел наМои сравнения If / Else для математических оценок.Я пытался найти расширенные сравнения If / Else, но в основном я сталкиваюсь с примерами, объясняющими, как использовать && vs ||против <= и т. д. </p>