Foxtable(狐表)用户栏目专家坐堂 → 除法进一法如何实现


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

主题:除法进一法如何实现

帅哥,在线噢!
timber83
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:73 积分:722 威望:0 精华:0 注册:2022/9/5 21:00:00
除法进一法如何实现  发帖心情 Post By:2025/5/9 10:44:00 [只看该作者]

有两列,列1,列2,列3,要求【列1】除以【列2】小于等于3时,【列3】=1;小于等于6时,【列3】=2;小于等于9时,【列3】=3,,,,,,依次类推
问题1,这个能用表达式实现吗?如果能实现,该怎么编码?
问题2,这个能用其他方式实现吗?该如何编码


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


加好友 发短信
等级:超级版主 帖子:113766 积分:579397 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/5/9 10:55:00 [只看该作者]

1、如果如果不是无限的比较,可以使用表达式
IIF(列2=0,null,IIF(列1/列2<=3,1,IIF(列1/列2<=6,2,IIF(…………))))


Select Case e.DataCol.Name
    Case
 "
列1","列2"
        
Dim dr As DataRow = e.DataRow
        
If dr("列2")<> 0 Then
dim d as double =  dr("列1") / dr("列2")
if d <=3 then
dr("列3") = 1
elseif d <=6 then
dr("列3") = 2
……
……
end if
        End If
End
 Select

 回到顶部
帅哥,在线噢!
timber83
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:幼狐 帖子:73 积分:722 威望:0 精华:0 注册:2022/9/5 21:00:00
  发帖心情 Post By:2025/5/9 11:08:00 [只看该作者]

这样要穷举。除法里面有进一法,我查了一下有math.ceiling的方法,这个支持吗?

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


加好友 发短信
等级:超级版主 帖子:113766 积分:579397 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/5/9 11:25:00 [只看该作者]

不支持。如果是无限的比较,整个地球都无法解决这种问题,找外星人看会不会。如果是有限的,到哪里结束?

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


加好友 发短信
等级:狐神 帖子:4877 积分:35405 威望:0 精华:0 注册:2008/8/31 22:44:00
  发帖心情 Post By:2025/5/9 11:57:00 [只看该作者]

For Each 行 As DataRow In DataTables("表A").DataRows
    Dim i As Double = 行("列1") / 行("列2")
    行("列31")=IIf(i Mod 3 = 0, i / 3, Math.Ceiling(i / 3)))
Next 

 回到顶部