#include <stdbool.h>
bool Equality(double a, double b, double epsilon)
{
if (fabs(a-b) < epsilon) return true;
return false;
}
Я попробовал этот метод для сравнения двух двойных чисел, но у меня всегда возникают проблемы, так как я не знаю, как выбрать epsilon
, на самом деле я хочу сравнить маленькие числа (6 6 цифр после десятичной точки)как 0,000001 .Я пробовал с некоторыми числами, иногда я получаю 0.000001 != 0.000001
, а иногда 0.000001 == 0.000002
Есть ли другой способ, кроме сравнения с эпсилоном?
Моя цель - сравнить два двойных числа (которые представляют время в моем случае),Переменная t, которая представляет время в миллисекундах, является двойной.Он увеличивается на другую функцию 0,000001, затем на 0,000002 и т. Д. Каждый раз, когда изменяется t, я хочу проверить, равна ли она другой переменной типа double tt, в случае tt == t у меня есть некоторые инструкции для выполнения ..
Спасибо за вашу помощь