List ParseCommand(string command) { List parsedData = new List(); string[] parts = command.Split(','); Response.Write(parts[1]); // time string hours = parts[2].Substring(0, 2); string minutes = parts[2].Substring(2, 2); string seconds = parts[2].Substring(4, 2); string timestamp = Convert.ToInt32(hours) + 1 + ":" + minutes + ":" + seconds; // accuracy bool isAccurate = parts[3] == "A"; // latitude int latitudeDegrees = Convert.ToInt32(parts[4].Substring(0, 2)); string minuteString = parts[4].Substring(2, 7); Response.Write(minuteString); double latitudeMinutes = Convert.ToDouble(minuteString) / 60; double latitude = latitudeDegrees + latitudeMinutes; // hemisphere north-south string hemisphereNS = parts[5] == "N" ? "É" : "D"; // longitude int longitudeDegrees = Convert.ToInt32(parts[6].Substring(1, 2)); minuteString = parts[6].Substring(3, 7); double longitudeMinutes = Convert.ToDouble(minuteString) / 60; double longitude = longitudeDegrees + longitudeMinutes; // hemisphere east-west string hemisphereEW = parts[7] == "E" ? "K" : "Ny"; // velocity double velocity = Convert.ToDouble(parts[8]); double velocitySI = velocity * 0.5144 * 3.6; // direction double directionDegrees = Convert.ToDouble(parts[9]); // date string day = parts[10].Substring(0, 2); string month = parts[10].Substring(2, 2); string year = parts[10].Substring(4, 2); string date = year + "/" + month + "/" + day; parsedData.Add(date + " " + timestamp); parsedData.Add(hemisphereNS + " " + latitude); parsedData.Add(hemisphereEW + " " + longitude); parsedData.Add(velocitySI); parsedData.Add(directionDegrees); return parsedData; }