2016-10-13 2 views
-1

En Visual Basic, j'ai besoin d'un moyen de bloquer un nombre, l'empêchant de devenir trop petit ou trop grand. Il doit s'adapter à une ligne, donc devrait idéalement ressembler à cette pince (x, min, max). J'ai essayé de trouver un moyen de le faire mais je n'ai rien trouvé, aucune idée sur la façon de le faire?Visual basic clamping un nombre

+0

mon VB est probablement terrible donc je ne vais même pas essayer de l'écrire en VB, mais dans la plupart Langages .NET, vous pouvez faire quelque chose comme ceci: 'double pince (double x, double min, double max) {return Math.min (Math.max (x, min), max)}' –

Répondre

0

essayez ceci: (vrai si un changement a été fait, et sinon false)

Function clamp(ByRef myNum as Integer, min as Integer, max as Integer) as Boolean 
    If myNum < min Then 
     myNum = min 
     Return True 
    End If 
    If myNum > max Then 
     myNum = max 
     Return True 
    End If 
    Return False 
End Function 
+0

Donc dans mon code, je peux mettre pince (variable), et il va effectuer le code ci-dessus, sur la variable? –

+0

oui. Comme vous pouvez le voir 'myNum' est un entier, mais vous pouvez le changer si vous le souhaitez. l'appel ressemblera à: 'isChanged = clamp (myNum, 2, 5)' et 'myNum' sera mis à jour entre 2 et 5. – yd1