VB的if、elseif的问题,请大虾们帮帮忙,看哪里出错了

发布网友 发布时间:2024-10-21 18:13

我来回答

4个回答

热心网友 时间:2天前

你的程序理论上是应该对的,只是注意一点,text文本框返回的类型是字符串,而你的q和k定义的类型是数值,所以字符串和数值比较,只要有一个字符不等就是“假”。把程序中的赋值语句改成这样就好了:
k = Val(Text1.Text)
q = Val(Text2.Text)
祝你好运

热心网友 时间:2天前

k = CInt(Text1.Text)
q = Clng(Text2.Text)

热心网友 时间:2天前

上面的真笨,定义K为数值了,赋值text的时候,会自动将text中的转换为数值型,至于下面的问题是:
你定义的,x,q,q1,q2,q3,q4都是长整型,结果都转换为整数了。这样运行时候最后只有最后一条满足了。就是四了。

热心网友 时间:2天前

你的数据类型定义错了,如果是VB6.0的是不支持连续定义的,VB2005以上版本就可以。
就是不能:
Dim q, x, q1, q2, q3, q4 As Long, k As Integer
你要写成:
Dim q As Long, x As Long, q1 As Long, q2 As Long, q3 As Long, q4 As Long, k As Integer

这个问题很多人误解的,列如你定义两个整型:
Dim I, J As Integer
其实只有J是整型,而I是定义为变体型,就是可以为任何一种类型,由计算机自己判断。

不信的你自己试试以下一段代码你就明白:
画一个按扭:
Private Sub Command1_Click()
Dim I, J As Integer
I = 3.14
J = 3.14
Print i
Print j
End Sub

你会发现 I 输出的是3,而 J 输出的是3.14的。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com