Conversione di un angolo da valori sessagesimali in decimali e viceversa

Da Gambas-it.org - Wikipedia.

Mostreremo di seguito le formule per convertire i valori di un angolo da sessagesimali in decimali e viceversa: [nota 1]

Public Sub Form_Open()

 Print GradiSessag_In_GradiDeci(1, 25, 50)
 Print GradiDeci_In_GradiSessag(1.43055555555556)

End


Public Function GradiSessag_In_GradiDeci(iGradi As Integer, iMin As Integer, iSec As Integer) As Float

' Conversione da Gradi Sessagesimali in Gradi Decimali:
  Return iGradi + (iMin / 60) + (iSec / 3600)

End


Public Function GradiDeci_In_GradiSessag(iGradi As Float) As String

' Conversione da Gradi Decimali in Gradi Sessagesimali:
  Return Int(iGradi) & "° " & Int(Frac(iGradi) * 60) & "' " & Int(Frac(Frac(iGradi) * 60) * 60) & "\""

End


Note

[1] Il codice è stato ripreso da un'analoga discussione apparsa nel forum della comunità francese dei programmatori Gambas.