Se usi la libreria che ti ho suggerito capirai tutto, ciò che ti restituisce il GPS non è altro che una stringa contenente le sentenze NMEA dentro le quali trovi : Ora,Latitudine,Longitudine,Altezza,Velocità e un altra montagna di roba, la libreria che ti ho indicato ti separa la stringa e a seconda del richiamare di una specifica funzione ti restituisce i dati che gli hai richiesto convertendoli già da stringa a numeri utilizzabili in maniera agevole...
es :
float flat, flon;
unsigned long age;
gps.f_get_position(&flat, &flon, &age);
Serial.print("LAT=");
Serial.print(flat == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flat, 6);
Serial.print(" LON=");
Serial.print(flon == TinyGPS::GPS_INVALID_F_ANGLE ? 0.0 : flon, 6);
Serial.print(" SAT=");
Serial.print(gps.satellites() == TinyGPS::GPS_INVALID_SATELLITES ? 0 : gps.satellites());
Serial.print(" PREC=");
Serial.print(gps.hdop() == TinyGPS::GPS_INVALID_HDOP ? 0 : gps.hdop());