Foxtable(狐表)用户栏目专家坐堂 → 关于12进制相减的问题


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

主题:关于12进制相减的问题

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/10 8:58:00 [显示全部帖子]

第五列是怎么计算的?第四列乘于下一行的第五列?下一行没有值怎么算?乘0?

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/10 23:08:00 [显示全部帖子]

0.06*3 = 1.08,这个怎么算的,如果是12进制,不是应该是1.06么

Select Case e.DataCol.name
    Case "第一列","第二列"
        Dim s1 As String = e.DataRow("第一列")
        Dim s2 As String = e.DataRow("第二列")
        Dim a1 As String() = s1.Split(".")
        Dim a2 As String() = s2.Split(".")
        If a1.length = 2 AndAlso a2.length = 2 Then
            Dim d1 As Date = new Date(a1(0), a1(1), 1)
            Dim d2 As Date = new Date(a2(0), a2(1), 1)
            Dim y,m,d As Integer
            DateYMD(d2,d1,y,m,d)
            e.DataRow("第三列") = y & "." & format(m, "00")
        Else
            e.DataRow("第三列") = Nothing
        End If
    Case "第四列"
        Dim d1 As Double = 0.6
        Dim d2 As Integer = val(e.NewValue)
        Dim s As String = format(d1 * d2, "#.00")
        Dim ary() As String = s.split(".")
        s = ary(0) & "." & format(ary(1) / 10, "00")
        e.DataRow("第五列") = s
    Case "第三列","第五列"
        Dim s1 As String = e.DataRow("第三列")
        Dim s2 As String = e.DataRow("第五列")
        Dim a1 As String() = s1.Split(".")
        Dim a2 As String() = s2.Split(".")
        If a1.length = 2 AndAlso a2.length = 2 Then
            Dim d1 As Integer = val(a1(0)) + val(a2(0))
            Dim d2 As Integer = val(a1(1)) + val(a2(1))
            d1 += Math.Floor(d2 / 12)
            d2 = d2 Mod 12
            e.DataRow("第六列") = d1 & "." & Format(d2,"00")
        Else
            e.DataRow("第六列") = Nothing
        End If
        
        
End Select

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/11 16:28:00 [显示全部帖子]

汗,一年不是12个月吗,一年零八个月难道不是20个月,还是俺out了,一觉睡醒这世间一年变成10个月了


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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/11 16:45:00 [显示全部帖子]

11楼代码有什么问题?

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/14 20:21:00 [显示全部帖子]

......
Case "第四列"
Dim d2 As Integer = val(e.NewValue) * 6
Dim s As String = Math.Floor(d2 / 12) & "." & Format((d2 Mod 12),"00")
e.DataRow("第五列") = s
Case "第三列","第五列"
......

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/18 10:26:00 [显示全部帖子]

Select Case e.DataCol.name
    Case "出生时间"
        Dim s1 As String = e.DataRow("出生时间")
        Dim a1 As String() = s1.Split(".")
        Dim y As Integer = 60
        If e.DataRow("性别") = "女" Then
            y  = 55
        End If
        a1(0) = val(a1(0)) + y
        e.DataRow("退休时间") = a1(0) & "." & a1(1)
End Select

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


加好友 发短信
等级:超级版主 帖子:107135 积分:544918 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/3/20 8:42:00 [显示全部帖子]

把列的顺序按照代码逻辑触发的顺序从左到右排列

 

比如B列数据由A列计算来的,那么A列放到B列的左边,依次类推

 

复制粘贴的时候数据是从左到右依次粘贴的


 回到顶部