Public Enum UniteDistance
mm = 1000000
m = 1000
km = 1
End Enum
Public Enum UniteTemps
s = 3600
min = 60
h = 1
End Enum
Public Shared Function TranslationUniteVitesse(ByVal Valeur As Single, _
ByVal UniteDistanceCourante As UniteDistance, _
ByVal UniteTempsCourante As UniteTemps, _
ByVal NouvelleUniteDistance As UniteDistance, _
ByVal NouvelleUniteTemps As UniteTemps) As Single
Dim distanceConvertie As Single = Valeur * NouvelleUniteDistance / UniteDistanceCourante
Dim tempsConvertie As Single = NouvelleUniteTemps / UniteTempsCourante
If (tempsConvertie = 0) Then
Throw New Exception("ModuleGlobal:TranslationUniteVitesse - Attention : Division par 0")
End If
Return distanceConvertie / tempsConvertie
End Function
Remarque :
Pour convertir 50 km/h en m/s par exemple :
Dim Vitesse_ms As Single = TranslationUniteVitesse(50, UniteDistance.km, UniteTemps.h, UniteDistance.m, UniteTemps.s)