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过一遍看看我错在哪里了??谢谢。。。
展开
 我来答
tanarri
推荐于2016-01-08 · TA获得超过1.1万个赞
知道大有可为答主
回答量:5123
采纳率:33%
帮助的人:8140万
展开全部
这样写语法上没有问题
不过需要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
以下类同
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友c1300c0
2011-07-18 · TA获得超过626个赞
知道小有建树答主
回答量:852
采纳率:0%
帮助的人:719万
展开全部
dim income as integer
income=val(text1.text)
这段代码没错Val(string) 字符串转换为数值 估计你输入的不是整数 建议用
income=cint(text1.text)
可以写个方法到通用里 然后commend1 直接调用就可以
或者 全部直接写到 commend1_click 也行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
红红火火恍恍惚惚AX
2011-07-18 · TA获得超过205个赞
知道小有建树答主
回答量:510
采纳率:0%
帮助的人:382万
展开全部
代码本身没问题,只是思路上应该这样:
要限制文本框中只能输入数字;要保证文本框必须录入内容。
更多追问追答
追问
我已经限制了只能输入数字,那要保证文本框必须录入内容怎么办??
追答
把income=val(text1.text)替换为:if trim(text1.text)"" then income=val(trim(text1.text))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
csdygfx
2011-07-18 · TA获得超过21.4万个赞
知道顶级答主
回答量:9.1万
采纳率:86%
帮助的人:7.9亿
展开全部
正确的,关键是你文本框中没有输入数据
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式