If statement 确定三个数字的最小/最大值
我一直在尝试使用If statement 确定三个数字的最小/最大值,if-statement,vbscript,scripting,qtp,If Statement,Vbscript,Scripting,Qtp,我一直在尝试使用执行VBScript,如果。。。然后条件。 这就是我要展示的 我必须显示3条消息:一条是最高数字,第二条是最低数字,第三条将显示消息“数字相同”(如果它们都相等)。 我需要让三个弹出窗口逐个出现 我试过这个: Option explicit Dim Gn, Sn, En Gn= inputbox("enter first number") Sn= inputbox("enter second number") En =inputbox("enter third number"
执行VBScript,如果。。。然后
条件。
这就是我要展示的
我必须显示3条消息:一条是最高数字,第二条是最低数字,第三条将显示消息“数字相同”
(如果它们都相等)。
我需要让三个弹出窗口逐个出现
我试过这个:
Option explicit
Dim Gn, Sn, En
Gn= inputbox("enter first number")
Sn= inputbox("enter second number")
En =inputbox("enter third number")
If ((Gn > Sn) AND (Gn > En)) then
Msgbox ("The Highest Number Is =" & Gn)
End if
If ((En =Gn) AND (En =Sn)) then
Msgbox ("The Numbers Are Equal =" & En)
End if
If ((Sn<Gn) AND (Sn <En))then
Msgbox ("The Lowest Number Is =" & Sn)
End If
我将不得不尝试所有的排列和组合,以使上述一个工作
请帮忙 如果希望消息框始终出现,请不要将它们放在
If
语句中。首先确定最小/最大值,然后无条件显示消息框
如果您创建了两个函数(Min
和Max
)来帮助您解决以下问题,这将更容易:
Function Min(x, y)
If x < y Then Min = x Else Min = y
End Function
Function Max(x, y)
If x > y Then Max = x Else Max = y
End Function
最后,您需要确保您的输入被视为数字而不是字符串InputBox()
将返回一个字符串,因此需要将该值转换为数字,否则比较结果将不正确
如果要假设输入了数字,只需强制转换返回值:
' Assume integers are being entered. If floating point, use CDbl() instead.
Gn = CLng(inputbox("enter first number"))
否则,您可以测试返回值是否为数字,然后正确地强制转换它:
Gn = inputbox("enter first number")
If Not IsNumeric(Gn) Then
MsgBox Gn & " is not numeric."
Else
Gn = CLng(Gn)
End If
' Assume integers are being entered. If floating point, use CDbl() instead.
Gn = CLng(inputbox("enter first number"))
Gn = inputbox("enter first number")
If Not IsNumeric(Gn) Then
MsgBox Gn & " is not numeric."
Else
Gn = CLng(Gn)
End If