VB什么情况下inputbox要用val

执行下列程序,输入变量x的值为4.请写出运行结果privatesubform_click()dimxasinteger,yassinglex=inputbox("输入变量... 执行下列程序,输入变量x的值为4.请写出运行结果

private sub form_click()
dim x as integer,y as single
x=inputbox("输入变量x的值")
if x>=1 and x<5 then
select case x
case is<2
y=3*x-5
case is<3
y=2*sgn(x)+1
case is<5
y=sqr(1+x^2)
end select
else
y=x^2+3*x+5
end if
print "y=";y
end sub

......................................................第一个

程序运行时,分别输入10,0和平10,写出运行结果

private sub form_click()
x=val(inputbox("输入数据:"))
if sgn(x)=1 then
print x+1
elseif sgn(x)=2 then
print x+2
elseif sgn(x)=3 then
print x+3
else
print x+4
end if
end sub

.............................................第二个

x=inputbox("输入变量x的值")..........................第一个

x=val(inputbox("输入数据:")).........................第二个

第一个和第二个,什么情况下inputbox要用val,什么情况下不用
展开
 我来答
syx54
2015-07-01 · TA获得超过7376个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2651万
展开全部
分析:
因为, InputBox()函数,输入的数据,默认的类型是字符串类型。当接受该输入的变量,已经声明为数值类型的时候,由于VB具有自动转换功能,所以可以不用VAL去进行转换;例如:
dim x as integer
x = inputbox("输入一个整数:")
你的上面一个过程里,就是因为声明了X为integer类型,所以可以不用VAL。
但是,如果没有进行变量的声明,那么,VB系统就会把该变量定义为接受的数据类型;
例如,在你的下面一个过程里:
private sub form_click()
x=val(inputbox("输入数据:"))
if sgn(x)=1 then
print x+1
elseif sgn(x)=2 then
print x+2
elseif sgn(x)=3 then
print x+3
else
print x+4
end if
end sub
如果这里,不用VAL,这个X将作为字符保存inputbox的输入。

所有高级程序设计语言,也就是VB的早先版本可以不声明变量,其他象C,PASCAL等都必须声明变量,目前VB.NET也已经规定必须声明变量了。
追问
老姜SYX54,不请自来,解析十分好
adai_008
2015-07-01 · TA获得超过1385个赞
知道大有可为答主
回答量:1152
采纳率:83%
帮助的人:780万
展开全部
因为从InputBox中得到的信息本质上是文本型的,所以简单说就是如果想从InputBox中得到数字,就要用Val,想得到是文本,就不用。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式