MATLAB: Does the if statement in this while loop not work

if statement

t=0;
dt=0.1;
dd=0.1;
i=0;
while t<=2
t=t+dt;
if t==dd
i=i+1;
dd=dd+0.1;
end
end
fprintf('%f \n',i)
It should print that i is 20, however it prints that it is 0.
I also tried to use rem, but it gives that i is 3
t=0;
dt=0.01;
dd=0.1;
i=0;
while t<=2
t=t+dt;
if rem(t,dd)==0
i=i+1;
dd=dd+0.1;
end
end
fprintf('%f \n',i)
Thanks