VB中如何实现循环读取不止一位的数字?
[size=24px]我想让它实现循环读取text1中的数字(不止一位数字),下面是我写的程序,请帮我改一下,谢谢!
- VB code
Private Sub Command1_Click()Dim a As Integer, b As Integer, c As Integer, i As Integer, x1 As Single, x2 As Single, s As Single, y As Integery = Len(Text1.Text) For i = 1 To y Select Case i Case 1 a = Mid(Text1.Text, 1, 1) Case 2 b = Mid(Text1.Text, 2, 1) Case Else c = Mid(Text1.Text, 3, 1) End Select Next is = b * b - 4 * a * cIf s > 0 Then x1 = (-b + Sqr(s)) / (2 * a) x2 = (-b - Sqr(s)) / (2 * a)Else x = MsgBox("您输入的数字不符合b*b-4*a*c>0的规则,请重新输入", 52, "提示") If x = 6 Then Text1.Text = "": Text2.Text = ""End IfText2.Text = x1 & " " & x2End Sub
[解决办法]
- VB code
Private Sub Command2_Click() '看起来是要解一元二次方程。你要读的数据是 123 这样的形式?如果是这样,二次方程的系数岂不是只能是一位数,应该不是吧!! '应该是 1 2 3 或者11 12 13 这样的形式,下面我按11, 12, 13的形式给你改,系数之间使用逗号分割 Dim A As Double, B As Double, C As Double, i As Double, x1 As Single, x2 As Single, s As Single, y As Double '不要限制使用整数系数 Dim BB() As String Dim A2 As Double BB = Split(Text1, ",") If UBound(BB) <> 2 Then MsgBox "输入数据个数不正确,请输入三个数据,数据之间使用逗号分开,最后一个数据不使用逗号" Exit Sub End If For i = 0 To 2 If Not IsNumeric(BB(i)) Then MsgBox "包含非数值数据,输入错误" Exit Sub End If Next A = Val(BB(0)) B = Val(BB(1)) C = Val(BB(2)) s = B * B - 4 * A * C If s >= 0 Then A2 = 2 * A s = Sqr(s) x1 = (-B + s) / A2 x2 = (-B - s) / A2 Else x = MsgBox("您输入的数字不符合b*b-4*a*c>0的规则,请重新输入", 52, "提示") If x = 6 Then Text1.Text = "" Text2.Text = "" End If End If Text2.Text = x1 & " " & x2End Sub
[解决办法]
[解决办法]
这只是把你计算的X1,X2两个值显示出来,人家给你的代码,你自己不分析一下,
怎么能理解的,怎么能应用到你的场景中去