知道y如何利用vb求2次函数的x

来源:百度知道 编辑:UC知道 时间:2024/07/04 19:12:22
Private Sub Command9_Click()
Dim a, b, c, x1, x2, y As Long
a = Val(Text8.Text)
b = Val(Text9.Text)
c = Val(Text10.Text)
y = Val(Text13.Text)
Text11.Text = Val(-b + Sqr(b * b - 4 * a * (c - y)) / 2 * a)
Text12.Text = Val(-b - Sqr(b * b - 4 * a * (c - y)) / 2 * a)
End Sub

哪里有错啊?????

括号的位置不对,-b没有处以2a
同时,/2*a,表示的是先除以2,又乘以了a
应该为:
Text11.Text = Val((-b + Sqr(b * b - 4 * a * (c - y))) / 2 / a)
Text12.Text = Val((-b - Sqr(b * b - 4 * a * (c - y))) / 2 / a)

定义了x1 和x2,又没有用到。建议删除以节约运算量。
可以定义
dim delt as long
delt=Sqr(b * b - 4 * a * (c - y))
Text11.Text = (-b + delt)/ 2 / a
Text12.Text = (-b - delt)/ 2 / a
这样清楚易读。text11和12的赋值过程, val()也是不需要的了,val()是把字符串形式的数字,变成可以数学运算的数字。