[求助]针对某VB程序设计的一个问题
2012-08-19 21:33
309 查看
我初学VB编一个小程序,是关于工资的管理系统,只是雏形,在对工人标准工资作出修改后,个人所得税也要随之改变,问题是,我设定的工人的最高工资是20800,如果大于这个数程序就发生溢出了,为了避免这个问题,我做了如下的代码,可是,还是有问题,请看到的可以给我说一下,就在我现有的代码之上做相应的调整。
以上就是我的代码,请帮我调整一下,谢谢了!
Private Sub txt_wage_Change() '这里使用的标准是:月标准工资不超过800元的,税为0,超过0-500税为5%,500-2000为10%,2000-5000为15%,5000-20000为20%,20000-40000为25%,40000-60000为30%,60000-80000为35%,8万-十万为40%,十万以上为45% Dim m_intwage As Integer Dim inttax1 As Integer, inttax2 As Integer, inttax3 As Integer inttax1 = 500 * 0.05 '将工资中800-1300之间的工资应交纳的个人所得税赋值给变量inttax1 inttax2 = 1500 * 0.1 inttax3 = 3000 * 0.15 m_intwage = Val(txt_wage.Text) txt_intsure.Text = m_intwage * 0.05 '养老保计算 '为了防止员工工资超过了了20800后产生程序的溢出,加入以下代码来完善 If m_intwage > 20800 Then MsgBox "数据超出了范围" Else If m_intwage >= 0 And m_intwage <= 20800 Then If m_intwage - 800 <= 0 Then txt_tax.Text = 0 '个人所的税为0 ElseIf m_intwage - 800 <= 500 Then txt_tax.Text = (m_intwage - 800) * 0.05 ElseIf m_intwage = 800 <= 2000 Then txt_tax.Text = (m_intwage - 1300) * 0.1 + inttax1 ElseIf m_intwage - 800 <= 5000 Then txt_tax.Text = (m_intwage - 2800) * 0.15 + inttax1 + inttax2 Else txt_tax.Text = (m_intwage - 5800) * 0.2 + inttax1 + inttax2 + inttax3 End If End If End If '------------------------------------------------------------------------------------------------- '用select case语句也可以完成上面的操作 'select case m_intwage 'case is <=800 'txt_tax.text=0 'case is <=1300 'txt_tax.text=(m_intwage-800)*0.05 'case is <=2800 'txt_tax.text=(m_intwage-1300)*0.1+inttax1 'case is <=5800 'txt_tax.text=(m_intwage-2800)*0.15+inttax1+inttax2 'case is <=20800 'txt_tax.text=(m_intwage-5800)*0.2+inttax1+inttax2+inttax3 'end select End Sub
以上就是我的代码,请帮我调整一下,谢谢了!
相关文章推荐
- 发现一个hibernate针对derby数据库的问题bug,及解决办法
- 转:快速排序的一个小问题没想明白,求助各位
- 【求助】Html弄的比较少,问一个弱弱的问题,为什么下面代码在IE中tr之间有空白行,而在Firefox中没有空白
- 针对 WebService 使用 Service 类获取 Port 类的一个参数问题的解释
- [求助]请教一个问题!
- 针对linux课本的一个程序,反映出来的问题(留有问题没解决)
- 【求助】一个简单的配置问题
- 求助一个Silverlight菜鸟级问题,如图
- 求助一个问题,100分,我也没多少分了。
- 求助:一个C语言编程的菜鸟问题
- 针对WebService使用Service类获取Port类的一个参数问题解释
- 【jquery仿datalist的一个问题,求助】——设置每行显示几列,块状DIV的解决办法
- 求助关于font属性值的一个问题
- 求助:递归地读取一个路径下文件总行数遇到的问题。
- 求助一个问题
- 三种实现交换的方法,其中一个诡异的swap函数——C/C++语言(问题求助)
- 上次的一个问题我打了微软的求助电话,他们也没有办法!
- 求助一个问题,100分,我也没多少分了。
- 未能加载文件或程序集或它的某一个依赖项(针对资源问题,x86文件在x64上编译失败)
- 未能加载文件或程序集或它的某一个依赖项(针对资源问题,x86文件在x64上编译失败)