Исходя из формы вашего вопроса, вы ожидаете, что решение правильно обработает отрицательные координаты. Если бы вы этого не делали, вы бы ожидали, что N или S будут следовать за широтой, а E или W будут следовать за долготой.
Обратите внимание, что принятое решение не даст правильных результатов с отрицательной координатой. Только градусы будут отрицательными, а минуты и секунды будут положительными. В тех случаях, когда градусы отрицательны, минуты и секунды будут перемещать координату ближе к 0 °, а не дальше от 0 °.
Второе решение Уилла Харриса - лучший путь.
Удачи!