Visual studio 2013 VisualBasic夹紧一个数字

Visual studio 2013 VisualBasic夹紧一个数字,visual-studio-2013,basic,Visual Studio 2013,Basic,在VisualBasic中,我需要一种钳制数字的方法,以防止它变得太小或太大。它必须适合一条线,所以理想情况下应该看起来像这个夹子(x,min,max)。我试图找到一种方法来做这件事,但找不到任何东西,对如何做这件事有什么想法?试试这个:(如果做了更改,则为true,否则为false) 函数钳位(ByRef myNum为整数,min为整数,max为整数)为布尔值 如果myNummax,则 myNum=最大值 返回真值 如果结束 返回错误 端函数 我的VB可能很糟糕,所以我甚至不打算尝试用VB编写

在VisualBasic中,我需要一种钳制数字的方法,以防止它变得太小或太大。它必须适合一条线,所以理想情况下应该看起来像这个夹子(x,min,max)。我试图找到一种方法来做这件事,但找不到任何东西,对如何做这件事有什么想法?

试试这个:(如果做了更改,则为true,否则为false)

函数钳位(ByRef myNum为整数,min为整数,max为整数)为布尔值
如果myNummax,则
myNum=最大值
返回真值
如果结束
返回错误
端函数

我的VB可能很糟糕,所以我甚至不打算尝试用VB编写它,但在大多数.NET语言中,你可以这样做:
double clamp(double x,double min,double max){return Math.min(Math.max(x,min,max)}
所以在我的代码中,我可以放置clamp(variable),它将在变量上执行上面的代码?是的。正如您所看到的,
myNum
是整数,但您可以根据需要更改它。调用将如下所示:
isChanged=clamp(myNum,2,5)
并且
myNum
将在2和5之间更新。
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