ption Explicit Private Sub Command1_Click() Dim exprdecimale As Double, expr As Double, secondes As Double, minutes As Double, degres As Double, decimales As Double exprdecimale = 46.1744444 expr = exprdecimale * 60 * 60 decimales = expr - Int(expr) secondes = Int(expr) calculons secondes, minutes, 60 ' car on a 60 secondes dans une minute calculons minutes, degres, 60 ' car on a 60 minutes dans un degré secondes = secondes + decimales MsgBox degres & " degré(s) " & minutes & " minute(s) " & secondes & " seconde(s)" End Sub Private Sub calculons(uniteencours As Double, uniteaudessus As Double, rapport As Integer) uniteaudessus = uniteencours \ rapport uniteencours = uniteencours Mod rapport End Sub
Private Sub Form_Load() MsgBox dmstodec(46.1744444), vbOKOnly, "The result must to be : 46° 10' 27.984""" End Sub Public Function dmstodec(ByVal coor As Double) Dim degres As Long Dim minutes As Long Dim secondes As Double degres = coor coor = (coor - degres) * 60 minutes = coor secondes = (coor - minutes) * 60 dmstodec = degres & "° " & minutes & "' " & FormatNumber(secondes, 3) & """" End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionSub Form1_Load(ByVal sender As System.Object, ByVal e As EventArgs) Handles MyBase.Load MessageBox.Show(dmstodec(46.1744444), "The result must to be : 46° 10' 27.984""") End Sub Public Function dmstodec(ByVal coor As Double) Dim degres As Long Dim minutes As Long Dim secondes As Double degres = coor coor = (coor - degres) * 60 minutes = coor secondes = (coor - minutes) * 60 dmstodec = degres.ToString & "° " & _ minutes & "' " & _ secondes.ToString("0.000") & """" End Function
Public Function dmstodec2(ByVal coor As Double) Dim degres As Long Dim minutes As Long Dim secondes As Double degres = coor coor = (coor - degres) * 60 minutes = coor secondes = (coor - minutes) * 60 dmstodec2 = degres.ToString & "° " & _ minutes & "' " & _ secondes.ToString("0.000") & """" MyDmsToDec = dmstodec2 Return MyDmsToDec End Function
Public Function dectodms(ByVal coor As Double) As String Dim degres As Long Dim minutes As Long Dim secondes As Double Dim reste As Double Dim retour As String degres = Math.Truncate(coor) reste = (coor - degres) * 60 minutes = Math.Truncate(reste) reste = (reste - minutes) * 60 secondes = Double.Parse(reste.ToString("0.000")) retour String.Format("DEC to DMS : {0} {1}° {2}' {3}""", coor, degres, minutes, secondes) MessageBox.Show(retour) Return retour End Function
Dim duree As TimeSpan = New TimeSpan(coor * 3600 * 10 ^ 7) Dim retour as String String.Format("DEC to DMS : {0} {1}° {2}' {3}""", coor, duree.TotalHours, duree.Minutes, duree.Seconds)