Vbscript 选择有条件的案例(经典ASP)
如何更换1,2,3。。用一个较小的声明。我试着把1打到10,但它显示出错误Vbscript 选择有条件的案例(经典ASP),vbscript,asp-classic,select-case,Vbscript,Asp Classic,Select Case,如何更换1,2,3。。用一个较小的声明。我试着把1打到10,但它显示出错误 谢谢你的帮助,谢谢 您正在页面中使用VBScript。它不支持Select Case语句中的范围。您最好使用If/ElseIf语句 <% i=2 Select Case i Case 1,2,3,4,5,7,8,9,10 response.write("Grade A") Case 11,12,13,14,15,16,17,18,19,20 response.write("Grad
谢谢你的帮助,谢谢 您正在页面中使用VBScript。它不支持
Select Case
语句中的范围。您最好使用If/ElseIf
语句
<%
i=2
Select Case i
Case 1,2,3,4,5,7,8,9,10
response.write("Grade A")
Case 11,12,13,14,15,16,17,18,19,20
response.write("Grade B")
Case 21,22,23,24,25,26,27,28,29,30
response.write("Grade C")
Case 31,32,33,34,35,36,37,38,39,40
response.write("Grade D")
Case Else
response.write("Invalid")
End Select
%>
0和I10和I20以及I30和i
当您的规范归结为常规的/可计算映射时,选择大小写
或如果。。其他工具(如樱桃采摘)是否仍然是错误的工具:
<%
i=2
If i > 0 And i <= 10 Then
Response.Write("Grade A")
ElseIf i > 10 And i <= 20 Then
Response.Write("Grade B")
ElseIf i > 20 And i <=30 Then
Response.Write("Grade C")
ElseIf i > 30 And i <= 40 Then
Response.Write("Grade D")
Else
Response.Write("Invalid")
End If
%>
一些替代方案
cscript 43214055.vbs
-1 invalid
0 invalid
1 A
2 A
3 A
4 A
5 A
6 A
7 A
8 A
9 A
10 A
11 B
12 B
13 B
14 B
15 B
16 B
17 B
18 B
19 B
20 B
21 C
22 C
23 C
24 C
25 C
26 C
27 C
28 C
29 C
30 C
31 D
32 D
33 D
34 D
35 D
36 D
37 D
38 D
39 D
40 D
41 invalid
42 invalid
grade=“无效”
选择Case True
案例一<1
案例一<11:grade=“A级”
案例一<21:grade=“B级”
案例一<31:grade=“C级”
案例一<41:grade=“D级”
结束选择
或
grade = "Invalid"
Select Case True
Case i < 1
Case i < 11 : grade = "Grade A"
Case i < 21 : grade = "Grade B"
Case i < 31 : grade = "Grade C"
Case i < 41 : grade = "Grade D"
End Select
如果i>0且i<41,则
grade=“grade”+Chr(Asc(“A”)+(i-1)\10)
其他的
grade=“无效”
如果结束
或
如果i>0且i<41,则
等级=阵列(“A级”、“B级”、“C级”、“D级”)((i-1)\10)
其他的
grade=“无效”
如果结束
编辑以更正Ekkehard.Horner指出的错误32是alt.2的反例。@Ekkehard.Horner,当然,你是对的。有人叫我吃饭时,我不应该发帖。是我的错。
grade = "Invalid"
Select Case True
Case i < 1
Case i < 11 : grade = "Grade A"
Case i < 21 : grade = "Grade B"
Case i < 31 : grade = "Grade C"
Case i < 41 : grade = "Grade D"
End Select
If i > 0 And i < 41 Then
grade = "Grade " + Chr(Asc("A") + (i-1)\10)
Else
grade = "Invalid"
End If
If i > 0 And i < 41 Then
grade = Array("Grade A", "Grade B", "Grade C", "Grade D")((i-1)\10)
Else
grade = "Invalid"
End If