错误判断为 A B值不为空或字符作者: renquande 时间: 2011-4-29 11:51 回复 9#vvvv_vvvv
崩溃中,现在需要知道,这样能不能满足你的需求,还报错吗,结论性的东西作者: renquande 时间: 2011-4-29 11:52
测了一下,还是不对,不好意思作者: vvvv_vvvv 时间: 2011-4-29 11:53
dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
if a="" or b="" then
msgbox("a或b值不能为空或字符")
else
a=int(a)
b=int(b)
c=a*b/2
msgbox(c)
end if作者: vvvv_vvvv 时间: 2011-4-29 11:53
请问字符怎么判断啊,是不是有表达式作者: renquande 时间: 2011-4-29 11:55
dim a,b,c,msga,msgb,x,y
msga="请输入数值a"
x=inputbox(msga)
msgb="请输入数值b"
y=inputbox(msgb)
if x="" or y="" then
msgbox("a或b值不能为空")
else
a=Cint(x)
b=Cint(y)
c=a*b
msgbox(c)
end if
现在呢,再看一下作者: renquande 时间: 2011-4-29 11:56
我不是太熟悉VBS的语法,只是通过经验调试了一下作者: vvvv_vvvv 时间: 2011-4-29 12:07
这样对字符没有控制 如果输入 ABCD 或中文就会报错作者: vvvv_vvvv 时间: 2011-4-29 14:17
dim a,b,c,msga,msgb
Do
m=1
msga="请输入数值a"
a=inputbox(msga)
If IsNumeric(a) Then
a = CDbl(a)
If a<0 Then
m = MsgBox("输入数值大于0!",5)
End If
Else
m = MsgBox("输入数值大于0!",5)
End If
If m = 2 Or m = 0 Then
WScript.Quit
End If
Loop While m=4
Do
m = 1
msgb="请输入数值b"
b=inputbox(msgb)
If IsNumeric(b) Then
b = CDbl(b)
If b<0 Then
m = MsgBox("输入数值大于0!",5)
End If
Else
m = MsgBox("输入数值大于0!",5)
End If
If m = 2 Or m = 0 Then
WScript.Quit
End If
Loop While m=4
Randomize
c=a*b/2
msgbox(c)作者: 偶爱台球 时间: 2011-5-4 14:21
dim a,b,c,msga,msgb
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
a=int(a)
b=int(b)
c=a*b ----------------------------------------程序走到这就要算a*b的值了,你不输入肯定会报错的
if a="" or b="" then
msgbox("a或b值不能为空")
else
msgbox(c)
endif作者: jiazurongyu 时间: 2011-5-10 21:43
dim a,b,c,msga,msgb
....
a=Cint(a)
b=Cint(b)作者: hellenchen 时间: 2011-5-12 10:02
dim a,b,c,msga,msgb,y
y=0
do while y=0
msga="请输入数值a"
a=inputbox(msga)
msgb="请输入数值b"
b=inputbox(msgb)
if IsNumeric(a) and IsNumeric(b) then
a=int(a)
b=int(b)
c=a*b
msgbox(c)
y=1
else
msgbox("a或b值输入非数字型字符,请重新输入")
end if
loop
不知这个结果是不是你想要的作者: shanfeng1419 时间: 2011-5-13 09:14
20#方法不错。作者: hwm831002 时间: 2011-5-13 15:54 回复 20#hellenchen
Dim a,b,c,msga,msgb
msga="input a"
msgb="input b"
a=InputBox(msga)
b=inputbox(msgb)
If Trim(a)="" Or Trim(b)="" then
MsgBox "a or b must be not null"
Else
c=a*b
MsgBox c
End If作者: datouniuniu 时间: 2011-5-19 16:12
如果还要排除a和b为字符型的情况,代码也可以这么写:
Dim a,b,c,msga,msgb
msga="请输入a:"
msgb="请输入b:"
a=InputBox(msga)
b=InputBox(msgb)
If Trim(a)="" Or Trim(b)="" then
MsgBox "a或者b不能为空"
ElseIf IsNumeric(a) And IsNumeric(b) then
c=a*b
MsgBox c
Else
MsgBox "请输入数字"
End if作者: hellenchen 时间: 2011-5-20 14:43 回复 22#hwm831002
我运行了.. 通过了,不知这位大侠说的有错是什么错呢?可否详细些?作者: jeanlolo 时间: 2011-5-31 18:18
关键看调试的需求是什么?有什么要求,满足要求就行。要不调试没方向。作者: cainiaolaile 时间: 2011-6-9 17:02
Dim a,b,c,msga,msgb
msga="Please input a"
a=InputBox(msga)
msgb="Please input a"
b=InputBox(msgb)
If a="" Or b="" then
MsgBox("a and b can not null!")
Else
a=Int(a)
b=Int(b)
c=a*b
MsgBox c
End If
我的这段