vb输入一元二次方程ax^2+bx+c=0的系数a,b,c,计算并输出一元二次方程的两个实根x1,x2.

我的代码是这个PrivateSubCommand1_Click()DimaAsSingle,bAsSingle,cAsSingleDimdAsSingle,x1AsSin... 我的代码是这个
Private Sub Command1_Click()
Dim a As Single, b As Single, c As Single
Dim d As Single, x1 As Single, x2 As Single
Dim r As Single, p As Single
a = Val(Text1.Text)
b = Val(Text2.Text)
c = Val(Text3.Text)
If a = 0 Then
Text4.Text = "一元二次方程的系数A不能为0"
Text5.Text = "一元二次方程的系数A不能为0"
Else
d = b ^ 2 - 4 * a * c
r = -b / (2 * a)
If d = 0 Then
Label3.Caption = r
Label5.Caption = r
ElseIf d > 0 Then
x1 = (-b + Sqr(d)) / (2 * a)
x2 = (-b - Sqr(d)) / (2 * a)
Label3.Caption = x1
Label5.Caption = x2
ElseIf d < 0 Then
p = Sqr(-d) / 2 * a
Label3.Caption = r & "+" & p & "i"
Label5.Caption = r & "-" & p & "i"
End If
End If
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Label3.Caption = ""
Label5.Caption = ""
End Sub

x2还正常,但为什么x1显示的是-.3596118?!前面的零为什么不显示啊
展开
 我来答
听不清啊
高粉答主

推荐于2017-05-25 · 说的都是干货,快来关注
知道顶级答主
回答量:7.8万
采纳率:89%
帮助的人:1.9亿
展开全部
VB纯小数的输出,默认的都是不输出整数0的。
0.12就输出为.12
-0.12就输出 -.12
如要输出的话,要自己编写代码:
Private Sub Command1_Click()
x = Val(InputBox(""))
If x > 0 And x < 1 Then
Print "0" & x
Else
If x < 0 And x > -1 Then
Print "-0" & -x
Else
Print x
End If
End If
End Sub
FMUD1
2015-04-18 · TA获得超过1008个赞
知道大有可为答主
回答量:1289
采纳率:71%
帮助的人:896万
展开全部
默认不显示,判断下,自己加0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式