Math problem: it thinks that 0-1=4 million

I have the oddest problem now that I can't figure out. In my GetAngle function, I have a float that is the difference of two other floats and it is not calculating right. I have stripped everything else out of the function and it now looks like this in my project and yet it does not work:

Code:

`float GetAngle(point targ, point ref)`

{

float y = targ.y-ref.y;

string temp = num2text(targ.y)+"-"+num2text(ref.y)+"="+num2text(targ.y-ref.y);

TextOut(GetDC(hWnd), 10, 10, temp.c_str(), temp.length());

return 0.0f;

}

It is showing "0.000-1.000=4294966.296"

Does anyone know why it could be doing this?

Thanks in advance for any help.