我需要检查demical是0到49.99或50到99.99或100到199.99还是大于200.我试图用select case来做这个,但我不确定语法.请帮忙!
Fre*_*dou 24
Select Case aa
Case 1 To 1.49
MsgBox(1)
Case 1.5 To 2
MsgBox(2)
Case Else
MsgBox("was lower than 1 or higher than 2 or between 1.49 and 1.5")
End Select
Run Code Online (Sandbox Code Playgroud)
这(下面)将进入其他情况
Dim aa As Double = 1.499
Run Code Online (Sandbox Code Playgroud)
这个(下面)将进入案例1到1.49
Dim aa As Double = 1.4
Run Code Online (Sandbox Code Playgroud)
这(下面)将进入案例1.5至2
Dim aa As Double = 1.78
Run Code Online (Sandbox Code Playgroud)
其他方式:从这里开始
Select Case value
Case Is <= 49.99
Debug.WriteLine("first group")
Case Is <= 99.99
Debug.WriteLine("second group")
Case Is <= 199.99
Debug.WriteLine("third group")
Case Else
Debug.WriteLine("fourth group")
End Select
Run Code Online (Sandbox Code Playgroud)
也许这也是:
Select Case true
Case (value >= 0 andalso value <= 49.99)
Debug.WriteLine("first group")
Case (value >= 50 andalso value <= 99.99)
Debug.WriteLine("second group")
Case (value >= 100 andalso value <= 199.99)
Debug.WriteLine("third group")
Case Else
Debug.WriteLine("fourth group")
End Select
Run Code Online (Sandbox Code Playgroud)
Dim value As Double = 133.5
Select Case value
Case Is <= 49.99
Debug.WriteLine("first group")
Case Is <= 99.99
Debug.WriteLine("second group")
Case Is <= 199.99
Debug.WriteLine("third group")
Case Else
Debug.WriteLine("fourth group")
End Select
Run Code Online (Sandbox Code Playgroud)
您的问题中,49.992的值在哪里?因为你说的是49-99之间的0-49.99然后是50-99.99,它会去哪里?在上面的示例中,它将包含在其中一个选项中,因此它的值介于0到49.99之间,值介于49.99和99.99之间,等等.
我怀疑你是否已经把这个问题弄清楚了,说出你的意思.难道你真的想第一组包括刚刚通过49.99 0?或者你真的是指0但不包括50,你只是希望你的输入有2位小数或更少?如果你想把数字分组五十年代,那么写下来就很奇怪了:
Select Case value
Case Is <= 49.99
Debug.WriteLine("49.99 or less")
Case Is <= 99.99
Debug.WriteLine("greater than 49.99, 99.99 or less")
' ... and so on '
End Select
Run Code Online (Sandbox Code Playgroud)
这里的数字49.995属于第二组,这似乎违反直觉.选取两个小数位作为截止点是任意的.
'<='运算符不是这里的方式; 使用'<'运算符; 它更有意义:
Select Case value
Case Is < 50
Debug.WriteLine("less than fifty")
Case Is < 100
Debug.WriteLine("fifty or greater, less than 100")
' ... and so on '
End Select
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
45074 次 |
| 最近记录: |