#include <stdbool.h> bool Equality(double a, double b, double epsilon) { if (fabs(a-b) < epsilon) return true; return false; } I tried this method to compare two doubles, but I always get problems since I don't know how to chose the epsilon, actually I want to compare small numbers (6 6 digits after the decimal point) like 0.000001. I tried with some numbers, sometimes I get 0.000001 != 0.000001 and sometimes 0.000001 == 0.000002 Is there another method else than comparing with the epsilon?
My purpose is to compare two doubles (which represent the time in my case). The variable t which represents the time in milliseconds is a double. It is incremented by another function 0.000001 then 0.000002 etc. each time t changes, I want to check if it is equal to another variable of type double tt, in case tt == t, I have some instructions to execute..
Thanks for your help
floatin the first place? Preferdoublewithout a very strong for other floating-point types. Of course your issue still remains whether it'sfloats ordoubles.