[求助]针对某VB程序设计的一个问题

前端之家收集整理的这篇文章主要介绍了[求助]针对某VB程序设计的一个问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

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

猜你在找的VB相关文章