主题:我的计算器程序为什么不能输入两个以上的零?
做了个计算器程序,界面如图:
可为什么不能显示两个或者两个以上的零呀?比如:按0.01它最终显示为1[em10]
相关代码如下:(不是全部的代码,因为其他的按钮代码和显示数字0无关)
Dim shu1 As Single, shu2 As Single, suanfu As String '定义两个单精度数变量用于存放参与运算的数,一个字符型存放运算符
Dim neg As Boolean '用来标识刚才输入的是否为运算符
Dim dh As Boolean '用来标识是否按了等号
Private Sub Form_Load()
Text1.Text = ""
dh = False
shu1 = 0
shu2 = 0
End Sub
Private Sub shuzi_Click(Index As Integer) '数字按钮:在文本框中显示数字
Text1.Text = Val(Text1.Text & shuzi(Index).Caption)
neg = False '刚才输入的不是运算符
End Sub
Private Sub ysf_Click(Index As Integer) '运算符按钮,在文本框中显示运算符+、-、*、/
If neg = False Then
shu1 = Val(Text1.Text) '将第一个操作数保存在shu1中
End If
suanfu = ysf(Index).Caption '将运算符保存在suanfu中
Text1.Text = ""
neg = True '刚才输入的是运算符
End Sub
Private Sub xiaoshu_Click() '小数点按钮:在文本框中显示小数点
Text1.Text = Text1.Text + "."
If Left(Text1.Text, 1) = "." Then '第一位不能为小数
Text1.Text = "0."
End If
If InStr(Text1.Text, ".") < Len(Text1.Text) Then '防止出现两个小数点
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End If
End Sub
Private Sub result_Click() '等号,开始加减乘除的运算
dh = True '按了等号按钮
shu2 = Val(Text1.Text) '当前文本框中的内容保存在shu2中,即是第二个操作数
Select Case suanfu
Case "+"
Text1.Text = shu1 + shu2
Case "-"
Text1.Text = shu1 - shu2
Case "*"
Text1.Text = shu1 * shu2
Case "/"
If shu2 = 0 Then
MsgBox "分母不能为零!", 0 + 48 + 0, "错误" '错误提示
Text1.Text = ""
Text1.SetFocus
Else
Text1.Text = shu1 / shu2
End If
End Select
End Sub
请高手解答,谢谢!
可为什么不能显示两个或者两个以上的零呀?比如:按0.01它最终显示为1[em10]
相关代码如下:(不是全部的代码,因为其他的按钮代码和显示数字0无关)
Dim shu1 As Single, shu2 As Single, suanfu As String '定义两个单精度数变量用于存放参与运算的数,一个字符型存放运算符
Dim neg As Boolean '用来标识刚才输入的是否为运算符
Dim dh As Boolean '用来标识是否按了等号
Private Sub Form_Load()
Text1.Text = ""
dh = False
shu1 = 0
shu2 = 0
End Sub
Private Sub shuzi_Click(Index As Integer) '数字按钮:在文本框中显示数字
Text1.Text = Val(Text1.Text & shuzi(Index).Caption)
neg = False '刚才输入的不是运算符
End Sub
Private Sub ysf_Click(Index As Integer) '运算符按钮,在文本框中显示运算符+、-、*、/
If neg = False Then
shu1 = Val(Text1.Text) '将第一个操作数保存在shu1中
End If
suanfu = ysf(Index).Caption '将运算符保存在suanfu中
Text1.Text = ""
neg = True '刚才输入的是运算符
End Sub
Private Sub xiaoshu_Click() '小数点按钮:在文本框中显示小数点
Text1.Text = Text1.Text + "."
If Left(Text1.Text, 1) = "." Then '第一位不能为小数
Text1.Text = "0."
End If
If InStr(Text1.Text, ".") < Len(Text1.Text) Then '防止出现两个小数点
Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
End If
End Sub
Private Sub result_Click() '等号,开始加减乘除的运算
dh = True '按了等号按钮
shu2 = Val(Text1.Text) '当前文本框中的内容保存在shu2中,即是第二个操作数
Select Case suanfu
Case "+"
Text1.Text = shu1 + shu2
Case "-"
Text1.Text = shu1 - shu2
Case "*"
Text1.Text = shu1 * shu2
Case "/"
If shu2 = 0 Then
MsgBox "分母不能为零!", 0 + 48 + 0, "错误" '错误提示
Text1.Text = ""
Text1.SetFocus
Else
Text1.Text = shu1 / shu2
End If
End Select
End Sub
请高手解答,谢谢!