VB中怎么把把textbox里的数字赋值给变量?我刚学vb,各位麻烦讲的详细一点啦~~~~有加分。
我是这样写的:dimincomeasintegerincome=val(text1.text)好像不对吧?报错什么类型不匹配。麻烦把代码写完整了。还有就是我这个变量inc...
我是这样写的:
dim income as integer
income=val(text1.text) 好像不对吧?报错什么类型不匹配。麻烦把代码写完整了。还有就是我这个变量income是要在commend1里用到的。代码写在什么地方也讲清楚。为了不浪费分先给10分,我还会加的。
Private Sub Command1_Click()
Dim income As Double
income = Val(Text1.Text)
If income = "" Then
MsgBox "请输入数据"
elseif income >= 0 Then
If income <= 3500 Then
MsgBox "你不用缴税"
ElseIf 5000 >= income > 3500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.03) + "元"
ElseIf 8000 >= income > 5000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.1 - 105) + "元"
ElseIf 12500 >= income > 8000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.2 - 555) + "元"
ElseIf 38500 >= income > 12500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.25 - 1065) + "元"
ElseIf 58500 >= income > 38500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.3 - 2755) + "元"
ElseIf 83500 >= 58500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.35 - 5505) + "元"
ElseIf income > 83500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.45 - 13505) + "元"
End If
End If
End Sub
为什么不报错了,但是出来的税款是负数呢?代码哪错了?哪位也用vb过一遍看看我错在哪里了??谢谢。。。 展开
dim income as integer
income=val(text1.text) 好像不对吧?报错什么类型不匹配。麻烦把代码写完整了。还有就是我这个变量income是要在commend1里用到的。代码写在什么地方也讲清楚。为了不浪费分先给10分,我还会加的。
Private Sub Command1_Click()
Dim income As Double
income = Val(Text1.Text)
If income = "" Then
MsgBox "请输入数据"
elseif income >= 0 Then
If income <= 3500 Then
MsgBox "你不用缴税"
ElseIf 5000 >= income > 3500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.03) + "元"
ElseIf 8000 >= income > 5000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.1 - 105) + "元"
ElseIf 12500 >= income > 8000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.2 - 555) + "元"
ElseIf 38500 >= income > 12500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.25 - 1065) + "元"
ElseIf 58500 >= income > 38500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.3 - 2755) + "元"
ElseIf 83500 >= 58500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.35 - 5505) + "元"
ElseIf income > 83500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.45 - 13505) + "元"
End If
End If
End Sub
为什么不报错了,但是出来的税款是负数呢?代码哪错了?哪位也用vb过一遍看看我错在哪里了??谢谢。。。 展开
4个回答
展开全部
这样写语法上没有问题
不过需要text1的输入要是整数,不然可能不是你想要的数值,比如你在text1里输入1.2,执行语句后income会是1,而不是1.2,如果income可能是非整数,应定义成单精度或双精度类型
如
dim income as single
或
dim income as double
你的报错应该不是这一句的,仔细看看报错位置
如果在command1_click里用到income,那就代码就写在command1_click里
income = ""的写法是错误的,因为income是个数值,""是空字符串
改为
Private Sub Command1_Click()
Dim income As Double
If Trim(Text1) <> "" Then
income = Val(Text1.Text)
If income <= 3500 Then
MsgBox "你不用缴税"
ElseIf 5000 >= income > 3500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.03) + "元"
ElseIf 8000 >= income > 5000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.1 - 105) + "元"
ElseIf 12500 >= income > 8000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.2 - 555) + "元"
ElseIf 38500 >= income > 12500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.25 - 1065) + "元"
ElseIf 58500 >= income > 38500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.3 - 2755) + "元"
ElseIf 83500 >= 58500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.35 - 5505) + "元"
ElseIf income > 83500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.45 - 13505) + "元"
End If
Else
MsgBox "请输入数据"
End If
End Sub
不过需要text1的输入要是整数,不然可能不是你想要的数值,比如你在text1里输入1.2,执行语句后income会是1,而不是1.2,如果income可能是非整数,应定义成单精度或双精度类型
如
dim income as single
或
dim income as double
你的报错应该不是这一句的,仔细看看报错位置
如果在command1_click里用到income,那就代码就写在command1_click里
income = ""的写法是错误的,因为income是个数值,""是空字符串
改为
Private Sub Command1_Click()
Dim income As Double
If Trim(Text1) <> "" Then
income = Val(Text1.Text)
If income <= 3500 Then
MsgBox "你不用缴税"
ElseIf 5000 >= income > 3500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.03) + "元"
ElseIf 8000 >= income > 5000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.1 - 105) + "元"
ElseIf 12500 >= income > 8000 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.2 - 555) + "元"
ElseIf 38500 >= income > 12500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.25 - 1065) + "元"
ElseIf 58500 >= income > 38500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.3 - 2755) + "元"
ElseIf 83500 >= 58500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.35 - 5505) + "元"
ElseIf income > 83500 Then
MsgBox "你要缴税" + Str((income - 3500) * 0.45 - 13505) + "元"
End If
Else
MsgBox "请输入数据"
End If
End Sub
更多追问追答
追问
用你的代码出来的税款也是负数啊。。
追答
5000 >= income > 3500
要改成
income 3500
以下类同
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
dim income as integer
income=val(text1.text)
这段代码没错Val(string) 字符串转换为数值 估计你输入的不是整数 建议用
income=cint(text1.text)
可以写个方法到通用里 然后commend1 直接调用就可以
或者 全部直接写到 commend1_click 也行
income=val(text1.text)
这段代码没错Val(string) 字符串转换为数值 估计你输入的不是整数 建议用
income=cint(text1.text)
可以写个方法到通用里 然后commend1 直接调用就可以
或者 全部直接写到 commend1_click 也行
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码本身没问题,只是思路上应该这样:
要限制文本框中只能输入数字;要保证文本框必须录入内容。
要限制文本框中只能输入数字;要保证文本框必须录入内容。
更多追问追答
追问
我已经限制了只能输入数字,那要保证文本框必须录入内容怎么办??
追答
把income=val(text1.text)替换为:if trim(text1.text)"" then income=val(trim(text1.text))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正确的,关键是你文本框中没有输入数据
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询