我初学VB编一个小程序,是关于工资的管理系统,只是雏形,在对工人标准工资作出修改后,个人所得税也要随之改变,问题是,我设定的工人的最高工资是20800,如果大于这个数程序就发生溢出了,为了避免这个问题,我做了如下的代码,可是,还是有问题,请看到的可以给我说一下,就在我现有的代码之上做相应的调整。

 
  
  1. Private Sub txt_wage_Change()  
  2.  
  3. '这里使用的标准是:月标准工资不超过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%  
  4.     Dim m_intwage As Integer 
  5.     Dim inttax1 As Integer, inttax2 As Integer, inttax3 As Integer 
  6.     inttax1 = 500 * 0.05    '将工资中800-1300之间的工资应交纳的个人所得税赋值给变量inttax1  
  7.     inttax2 = 1500 * 0.1  
  8.     inttax3 = 3000 * 0.15  
  9.     m_intwage = Val(txt_wage.Text)  
  10.     txt_intsure.Text = m_intwage * 0.05    '养老保计算  
  11.  
  12.     '为了防止员工工资超过了了20800后产生程序的溢出,加入以下代码来完善  
  13.     If m_intwage > 20800 Then 
  14.         MsgBox "数据超出了范围" 
  15.     Else 
  16.     If m_intwage >= 0 And m_intwage <= 20800 Then 
  17.         If m_intwage - 800 <= 0 Then 
  18.             txt_tax.Text = 0    '个人所的税为0  
  19.         ElseIf m_intwage - 800 <= 500 Then 
  20.             txt_tax.Text = (m_intwage - 800) * 0.05  
  21.         ElseIf m_intwage = 800 <= 2000 Then 
  22.             txt_tax.Text = (m_intwage - 1300) * 0.1 + inttax1  
  23.         ElseIf m_intwage - 800 <= 5000 Then 
  24.             txt_tax.Text = (m_intwage - 2800) * 0.15 + inttax1 + inttax2  
  25.         Else 
  26.             txt_tax.Text = (m_intwage - 5800) * 0.2 + inttax1 + inttax2 + inttax3  
  27.         End If 
  28.     End If 
  29.     End If 
  30.  
  31. '-------------------------------------------------------------------------------------------------  
  32. '用select case语句也可以完成上面的操作  
  33. 'select case m_intwage  
  34. 'case is <=800  
  35. 'txt_tax.text=0  
  36. 'case is <=1300  
  37. 'txt_tax.text=(m_intwage-800)*0.05  
  38. 'case is <=2800  
  39. 'txt_tax.text=(m_intwage-1300)*0.1+inttax1  
  40. 'case is <=5800  
  41. 'txt_tax.text=(m_intwage-2800)*0.15+inttax1+inttax2  
  42. 'case is <=20800  
  43. 'txt_tax.text=(m_intwage-5800)*0.2+inttax1+inttax2+inttax3  
  44. 'end select  
  45. End Sub 

以上就是我的代码,请帮我调整一下,谢谢了!