主题:单精度变量的显示问题
zhaoming4865
[专家分:0] 发布于 2008-03-12 20:45:00
我在程序中定义了一个单精度数值型变量:dim A as single,但当A的结果显示在Text文本框上时,若果结果是0.325则显示 .325,前面的0没有,这是怎么回事,再有我想只保留小数点后面2位,我该如何定义A变量。老师们,帮一下忙吧,谢谢了!
回复列表 (共6个回复)
沙发
FieldMAX [专家分:12740] 发布于 2008-03-12 21:35:00
format("0.1234","#,##0.##")
板凳
zhaoming4865 [专家分:0] 发布于 2008-03-13 08:44:00
[quote]format("0.1234","#,##0.##")[/quote]
不行呀老师,我用了Format,但运行时,数字小数点前还是没有0,如下面程序,a=1,b=3,c=1。
Dim a As Single
Dim b As Single
Dim c As Single
Dim q As Single
Dim gen As Single
Dim x1 As Single
Dim x2 As Single
Private Sub Command1_Click()
a = Val(InputBox("请输入a值:"))
b = Val(InputBox("请输入b值:"))
c = Val(InputBox("请输入c值:"))
End Sub
Private Sub Command2_Click()
If a <> 0 Then
q = -b / 2 * a
gen = b * b - 4 * a * c
If gen >= 0 Then
If gen > 0 Then
x1 = q + Sqr(gen) / 2 * a
x2 = q - Sqr(gen) / 2 * a
Else
x1 = q
x2 = q
End If
Text1.Text = Str(Format(x1, "#,##0.##"))
Text2.Text = Str(Format(x2, "#,##0.##"))
Else
r = Sqr(-gen) / 2 * a
Text1.Text = Str(Format(q, "#,##0.##")) & "+" & Str(Format(r, "#,##0.##")) & "!"
Text2.Text = Str(Format(q, "#,##0.##")) & "-" & Str(Format(r, "#,##0.##")) & "!"
End If
Else
MsgBox "请注意a不能等于0!"
End If
End Sub
Private Sub Command3_Click()
a = 0
b = 0
c = 0
gen = 0
q = 0
r = 0
End
End Sub
3 楼
一江秋水 [专家分:9680] 发布于 2008-03-13 10:22:00
去掉那个画蛇添足的Str就可以了
4 楼
zhaoming4865 [专家分:0] 发布于 2008-03-13 12:10:00
我改过了,是这里出现了错误,但又有了新的问题,当运行结果为整数时如8,不是显示8.00而是显示8.,不知为什么?
5 楼
一江秋水 [专家分:9680] 发布于 2008-03-13 14:27:00
把format("0.1234","#,##0.##")改为format("0.1234","#,##0.00")
6 楼
zhaoming4865 [专家分:0] 发布于 2008-03-13 14:40:00
谢谢,这下彻底解决了。
我来回复