Well I figured out where the problem is but I am not sure how to fix it. To be honest, for this application this level of precision is ridiculous but it still just bugs me that it is coming out like this. Basically, these two lines:
f = atof(longit1);
Serial.println(f, 4);
result in the output:
7406.0000
and
f /= 100.00;
longdegrees = (int)f; //isolate degrees
Serial.println(longdegrees);
results in
74
and
longminutes = ((f - (int)f) * 100.0);
Serial.println(longminutes,4);
results in
5.9998
which is wrong.....it should be 6.0000 based on the original value of f being 7406.0000.
Does anyone know why it may be losing .0002 on that value? I don't think I am overrunning any of my datatypes.