int и double

 
может кто сталкивался... есть необходимость сравнениея целого и дробного числа без учета сотых нпример вот такое равенство 40 == 40.003 должно быть верно или это нереально?
 
int == int(double)
 
double r=40.003; int i=40;

if(i==r) Print ("i == r"); else Print("i != r");
r=NormalizeDouble(r,0);
if(i==r) Print ("i == r"); else Print("i != r");