注册 登录
编程论坛 VB6论坛

在编程过程中遇到算术程序问题,忘指引。

VB丶小宇 发布于 2013-04-10 11:02, 580 次点击
  RT,在编程过程中遇到一个算术程序问题,忘指引。我制作的是一个简单的包括(+ - * /)的算术程序,但是算加法总是不正常,比如说50+50应该是100,而我制作的程序50+50是5050,其他的正常。
  以下是代码,请问大神怎么改?
  Option Explicit
Dim opt As String


Private Sub Command1_Click()
opt = "+"
End Sub

Private Sub Command2_Click()
opt = "-"
End Sub

Private Sub Command3_Click()
opt = "*"
End Sub

Private Sub Command4_Click()
opt = "/"
End Sub

Private Sub Command5_Click()
Dim a, b, result As Double
a = Text1.Text
b = Text2.Text
Select Case opt
Case "+"
result = a + b
Case "-"
result = a - b
Case "*"
result = a * b
Case "/"
If b <> 0 Then
result = a / b
Else
MsgBox "除数不能为0,请修改!"
End If
End Select
Text3.Text = result
End Sub
7 回复
#2
Artless2013-04-10 13:19
a = val(Text1.Text)
b = val(Text2.Text)
#3
lowxiong2013-04-10 13:38
  Dim a As Integer, b As Integer, result As Double
VB不能像c那样批量定义变量类型,必须一个个定义。
#4
xbj_hyml2013-04-10 15:01
2位版主的做法都能得出正确结果
    你那个错误原因:a,b 没指定类型,vb默认为 variant型
    但是 "a = Text1.Text" 这样赋值,系统会认为a 为String类型,而且 VB 中 "+"有 拼接字符串的作用
所以...
#5
VB丶小宇2013-04-10 18:16
回复 2楼 Artless
感谢您的解答,按照您的操作,完全能解决我的问题,Thanks.
#6
VB丶小宇2013-04-10 18:17
回复 3楼 lowxiong
同时感谢您的解答,按照您的做法也可以解决我的问题,万分感谢。
#7
VB丶小宇2013-04-10 18:18
回复 4楼 xbj_hyml
也感谢您的解答,受人之渔。
#8
廖晓伟2013-04-17 21:52
路过
1