VB制作简单计算器问题,关于加法

来源:百度知道 编辑:UC知道 时间:2024/06/17 03:06:34
这是数字0的代码:
Private Sub Command0_Click(Index As Integer)
If Text1.Text = "0" Then
Text1.Text = "0"
Else
Text1.Text = Text1.Text + "0"
End If
End Sub
其余数字与它一样
这是加号的代码
Private Sub Command17_Click(Index As Integer)
Text1.Text = ""
x = "+"
pre = now
End Sub
其中pre , now定义为DOUBLE
下面是等号的代码,只列出了加法的部分
Private Sub Command16_Click(Index As Integer)
If x = "+" Then
now = pre + now
Text1.Text = now
End If
End Sub
由于加法怎么也算不对,所以拿上来请各位高手看看错误在哪里
谢谢各位!!!

首先不能用NOW来定义,它是内置函数名。改为NOW1。
我的代码如下:
Dim X As String
Dim pre As Double
Dim now1 As Double

'这是加号的代码
Private Sub Command17_Click(Index As Integer)
pre = Val(Text1.Text)
Text1.Text = ""
X = "+"
'pre = Now'这一句不要
End Sub
'其中pre , now1定义为DOUBLE
'下面是等号的代码,只列出了加法的部分
Private Sub Command16_Click(Index As Integer)
If X = "+" Then
now1 = Val(Text1.Text)

now1 = pre + now1
Text1.Text = now1
End If
End Sub

数字输入处理你的方法也可以,但有更简单的处理办法,设置控件数组command0(0)、command0(1)、....、command0(9)一共10个,分别将它们的caption属性值设为0、1、...、9,这样就可以用下面一句代码来处理0-9所有数字输入问题。效果一样,但代码简洁的多。

Private Sub Command0_Click(Index As Integer)
Text1.Text = Text1.Text & Command0(Index).Caption
End Sub

你先试试把Command16那部分的第3行换成now = val(pre) + val(now)

now = pre + now
now是关键字,不能赋值的~换个名称吧

我觉得有两个可能原因:一,now是时间关键字,可能引起冲突。
二,你的代码不全,不知你