以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  不能整除如何取整?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194749)

--  作者:lin98
--  发布时间:2025/1/10 10:11:00
--  不能整除如何取整?
列1 列2 列3 说明列1/列二的值
3000 950 3 3.157894737
2000 600 3 3.333333333
1000 350 3 2.857142857
1500 500 3 3
5000 1000 5 5

执行下面代码,无法实现上面的需求,如何解决?
Dim dre As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "列1", "列2"
        If dre.IsNull("列1") OrElse dre.IsNull("列2") Then
            dre("列3") = Nothing
        
        Else
            \'dre("列3") = dre("列1") / dre("列2")
            Dim d As Double = dre("列1") / dre("列2")
            \'            If d > 0 Then
            If d = 0 Then 
                dre("列3") = d 
            Else
                dre("列3") = d+ 1
                
                
            End If
         
        End If
End Select

--  作者:有点蓝
--  发布时间:2025/1/10 10:15:00
--  
Ceiling返回大于或等于指定数字的最小整数
Floor返回小于或等于指定数字的最大整数

--  作者:lin98
--  发布时间:2025/1/10 11:15:00
--  
Dim dre As DataRow = e.DataRow
Select Case e.DataCol.Name
    Case "第一列", "第二列"
        If dre.IsNull("第一列") OrElse dre.IsNull("第二列") Then
            dre("第三列") = Nothing
        Else
            dre("第三列") = dre("第一列") / dre("第二列")          
            Dim Lng As Long = Math.Ceiling(dre("第三列")) 
        End If
End Select

执行上面的代码,无法实现下面需求,下面红色的第三列,如何实现?
第一列 第二列 第三列 说明列1/列二的值
3000 950 4 3.157894737
2000 600 4 3.333333333
1000 350 3 2.857142857
1500 500 3 3
5000 1000 5 5





--  作者:有点蓝
--  发布时间:2025/1/10 11:19:00
--  
强烈建议先花一个月时间,重新学习编程基础。基础的概念如果不搞懂,写再多的代码都学不会。

dre("第三列") = Math.Ceiling(dre("第一列") / dre("第二列") )