以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  算术运算导致溢出  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=184976)

--  作者:cnsjroom
--  发布时间:2023/1/28 15:56:00
--  算术运算导致溢出

错误的事件名称项目,HttpRequest
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.OverflowException: 算术运算导致溢出。
   在 Microsoft.VisualBasic.CompilerServices.Conversions.ToInteger(Object Value)
   在 eWebSer.form704_jidukaohe_Ajax(Request rq)
   --- 内部异常堆栈跟踪的结尾 ---
   在 Microsoft.VisualBasic.CompilerServices.Symbols.Container.InvokeMethod(Method TargetProcedure, Object[] Arguments, Boolean[] CopyBack, BindingFlags Flags)
   在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.CallMethod(Container BaseReference, String MethodName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, BindingFlags InvocationFlags, Boolean ReportErrors, ResolutionFailure& Failure)
   在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.ObjectLateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)
   在 Microsoft.VisualBasic.CompilerServices.NewLateBinding.LateCall(Object Instance, Type Type, String MemberName, Object[] Arguments, String[] ArgumentNames, Type[] TypeArguments, Boolean[] CopyBack, Boolean IgnoreReturn)
   在 UserCode.HttpRequest(RequestEventArgs e)

 

当前代码如下:

        \'计算总分  分别按照好1?较好0.8?一般0.6?弃权0.3的权重对应piao数,计算班子成员投piao总数+一般干部职工投piao总数之和除2来获取当前考核总分,并以总分进行从高到低顺序排名,获取考核结果.
 Dim i1 As Integer= (((dr("A好")*1)+(dr("A较好")*0.8)+(dr("A一般")*0.6)+(cnt3*0.3))/cnt4)*100
 msg((((dr("A好")*1)+(dr("A较好")*0.8)+(dr("A一般")*0.6)+(cnt3*0.3))/cnt4)*100)
 Dim i2 As Integer= (((dr("B好")*1)+(dr("B较好")*0.8)+(dr("B一般")*0.6)+(cnt113*0.3))/cnt114)*100
dr("总分")= (i1+i2)/2

 

麻烦老师帮忙看看 算术运算导致溢出的原因,怎么修正呢?


--  作者:有点蓝
--  发布时间:2023/1/28 16:11:00
--  
可能原因:
1、计算的结果超出了整数能够表示的范围
2、出现了除以0的操作,比如cnt4、cnt114等于0