Si vous voulez parler du code C# pour le faire:
résultat = 25 + (36/60) + (55,57/3600)
D'abord, vous aurez besoin pour analyser l'expression avec Regex ou un autre mécanisme et le diviser en parties individuelles. Puis:
String hour = "25";
String minute = "36";
String second = "55.57";
Double result = (hour) + (minute)/60 + (second)/3600;
Et bien sûr, un interrupteur basculer en fonction de N/S ou E/S. Wikipedia a un peu sur cela:
Pour les calculs, le suffixe Ouest/Est est remplacé par un signe négatif dans l'hémisphère occidental. Confusément, la convention de négatif pour l'Est est aussi parfois vu. La convention préférée - que l'Est soit positif - est compatible avec un système de coordonnées cartésiennes droitier avec le pôle Nord en place. Une longitude spécifique peut alors être combinée avec une latitude spécifique (généralement positive dans l'hémisphère nord) pour donner une position précise sur la surface de la Terre.)
Vous avez petite erreur dans le code - deuxième division (secondes) doit être par –
3600. La formule correcte est: result = deg + (min/60) + (s/3600); – holiveira
n'est-ce pas ce que j'ai? ordre des opérations dicte que la division sera faite avant l'addition. – ine