Well that is why I was hoping to be able to break it up into chunks and handle each separately so for instance the data comes in from the GPS as something like:

GPGGA,175030.000,4041.1314,N,07406.5125,W,1,07,1.2,-189.2,M,-34.2,M,,0000*4D

with 4041.1314 being the latitude written as 40 degrees, 41.1314 minutes N latitude. My sketch pulls out the 4041 and the 1314 as separate numbers. I then divide the 4041 by 100 to get 40.41 and take just the integer (40) portion as my degrees and then subtract out that integer from the 40.41, multiply it by 100 to get 41 minutes. Then I add the 41 minutes to the .1314 to get 41.1314 and divide by 60 to get the fractional amount of degrees. Now it seems to me that I should be able to divide a float value of 41.1314 by 60 and get 6 significant digits because at no time should a float have to truncate any of those values. Then I can print out the integer degrees value of 40 and then the fractional result from the 41.1314/60 calculation and all should be well. What am I missing here?