Foxtable(狐表)用户栏目专家坐堂 → 转换为高精度小数后的问题


  共有1856人关注过本帖树形打印复制链接

主题:转换为高精度小数后的问题

帅哥哟,离线,有人找我吗?
douglas738888
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1175 积分:8792 威望:0 精华:0 注册:2012/4/18 16:28:00
转换为高精度小数后的问题  发帖心情 Post By:2017/6/14 10:21:00 [只看该作者]

请教老师,下面代码因高精度小数统计有误差,转换为高精度小数后,报错,试图除于0

 

因为,总量和计量两个值在增加新行的时候是不会计算值的,需要其他列填写值后才会计算出来

 

用and或andalso或orelse都报错

 

Dim dat5 As DataRow = e.DataRow
If e.DataRow("岗位层级") = "基层员工" Then
    Select Case e.DataCol.Name
         Case "基层任务_总量","基层任务_计量"
         If dat5.IsNull("基层任务_总量") AndAlso dat5.IsNull("基层任务_计量") Then '如果两个值都为空???
           dat5("基层任务_份额") = Nothing
        Else
         dat5("基层任务_份额") = dat5("基层任务_计量") / dat5("基层任务_总量")
         End If
    End Select
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/6/14 11:05:00 [只看该作者]

 你是不是填了0?

 

If dat5.IsNull("基层任务_总量") AndAlso dat5.IsNull("基层任务_计量") Then

 

 改成

 

If dat5("基层任务_总量") = 0 Then


 回到顶部
帅哥哟,离线,有人找我吗?
wyz20130512
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1249 积分:9480 威望:0 精华:0 注册:2013/5/12 9:22:00
  发帖心情 Post By:2017/6/14 11:06:00 [只看该作者]

Select Case e.DataCol.Name
    Case "基层任务_总量","基层任务_计量"
        Dim dat5 As DataRow = e.DataRow
        If dat5("岗位层级") = "基层员工" Then
            If dat5.IsNull("基层任务_总量") AndAlso dat5.IsNull("基层任务_计量") Then '如果两个值都为空???
                dat5("基层任务_份额") = Nothing
            Else
                If dat5.IsNull("基层任务_总量") = False Then
                    dat5("基层任务_份额") = dat5("基层任务_计量") / dat5("基层任务_总量")
                End If
            End If
        End If
End Select
[此贴子已经被作者于2017/6/14 11:09:40编辑过]

 回到顶部