| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 945 人关注过本帖
标题:计算工资总额时报错
只看楼主 加入收藏
卧象飞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-8-29
结帖率:100%
收藏
已结贴  问题点数:0 回复次数:5 
计算工资总额时报错
程序代码:
Private Sub Command1_Click()
Dim gerensds As Single ' 个人所得税
Dim fd As Single

Dim renshu As Integer '人数
gerensds = Text1.Text


If gerensds <= 45 Then '所得税小于45元时的处理
Text4.Text = 0.03
Text2.Text = 1
Text3.Text = gerensds / 0.03
  End If
If gerensds > 45 Then

MsgBox ("请输入人数,如果不输入人数,则默认人数为10人")
Text2.Text = 10

Text4.Text = 0.1
renshu = Text2.Text

Text3.Text = Round((((gerensds / renshu + 105) / 0.1 + 3500) * renshu) - (renshu * 3500), 2)
End If


End Sub

我用的是VB6.0,我做的一个已知个人所得税然后计算应纳税所得额的公式。我在输入个人所得税金额,然后点击运算以后,报错
“溢出,实时错误",代码如下, 我不知道我错那了,请高手指点,先谢了。
Private Sub Command1_Click()
Dim gerensds As Single ' 个人所得税
Dim fd As Single
Dim renshu As Integer '人数
gerensds = Text1.Text

If gerensds <= 45 Then '所得税小于45元时的处理
Text4.Text = 0.03
Text2.Text = 1
Text3.Text = gerensds / 0.03
  End If
If gerensds > 45 Then
MsgBox ("请输入人数,如果不输入人数,则默认人数为10人")
Text2.Text = 10
Text4.Text = 0.1
renshu = Text2.Text
Text3.Text = Round((((gerensds / renshu + 105) / 0.1 + 3500) * renshu) - (renshu * 3500), 2)
End If

End Sub
搜索更多相关主题的帖子: color 
2011-10-08 17:08
fireking
Rank: 2
等 级:论坛游民
帖 子:34
专家分:33
注 册:2007-10-24
收藏
得分:8 
是在哪句溢出?

未必是这句?Text3.Text = Round((((gerensds / renshu + 105) / 0.1 + 3500) * renshu) - (renshu * 3500), 2)
可能是数据类型设置的问题吧。

[ 本帖最后由 fireking 于 2011-10-8 22:30 编辑 ]
2011-10-08 22:27
卧象飞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-8-29
收藏
得分:0 
是的,就是这句溢出。我没有看出我错在那里了
2011-10-08 22:32
Artless
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:103
帖 子:4211
专家分:28888
注 册:2009-4-8
收藏
得分:12 
图片附件: 游客没有浏览图片的权限,请 登录注册

无知
2011-10-09 00:52
卧象飞
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2011-8-29
收藏
得分:0 
谢谢版主大人,现在不报错了,可是我还是不明白 为什么把人数改为长整型,就不溢出了呢。整型变量的值2的15次方和2的-15次方之间呀。
2011-10-09 11:46
zhuiis
Rank: 4
等 级:业余侠客
威 望:1
帖 子:201
专家分:286
注 册:2008-11-8
收藏
得分:0 
Text3.Text = Round((((gerensds / renshu + 105) / 0.1 + 3500) * renshu) - (renshu * 3500), 2)
 看看红色的地方,Round 定义的数据类型是否为长整型 Integer ?把它改为 long 试试看看
2011-10-11 22:07
快速回复:计算工资总额时报错
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.012869 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved