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


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

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

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 20:36:00 [显示全部帖子]

 弄成日期加减

 

Dim s1 As String = "2017.03"
Dim s2 As String = "2010.02"
Dim a1 As String() = s1.Split(".")
Dim a2 As String() = s2.Split(".")
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)
msgbox(y & " " & m & " " & d)


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/9 21:22:00 [显示全部帖子]

datacolchanged事件

 

If e.DataCol.name = "第一列" OrElse e.DataCol.name = "第二列" Then
   
    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
End If


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/10 10:20:00 [显示全部帖子]

如果是相加的问题,参考,自己改造

 

Dim s1 As String = "14.11"
Dim s2 As String = "1.08"
Dim a1 As String() = s1.Split(".")
Dim a2 As String() = s2.Split(".")
Dim d1 As Date = new Date(a1(0), a1(1), 1)
Dim d2 As Date = d1.AddYears(a2(0)).AddMonths(a2(1))
msgbox(format(d2, "yy.MM"))


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/10 11:16:00 [显示全部帖子]

以下是引用guimingze在2017/3/10 10:59:00的发言:
谢谢老师  但是不单单是相加的问题  就是  若写1  代表0.06  如何实现老师  2代表1.02   以此类推  如何实现呢?

 

Dim d1 as Double = 0.6
Dim d2 As integer = 3
Dim s As String = format(d1 * d2, "#.00")
Dim ary() As String = s.split(".")
s = ary(0) & "." & format(ary(1) / 10, "00")
msgbox(s)


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/12 20:44:00 [显示全部帖子]

请说明你的逻辑是什么?3个0.06为什么是1.08啊?1一个又是多少?

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/12 23:08:00 [显示全部帖子]

不明白你的意思,0.06代表6个月,2个代码1年,3个就应该是1年6个月啊,1.08是什么鬼。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/15 15:32:00 [显示全部帖子]

 上传具体实例说明问题。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/15 20:19:00 [显示全部帖子]

 没有你说的那些列,请说明如何计算。

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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/16 1:14:00 [显示全部帖子]

参考代码

 

Select Case e.DataCol.Name
    Case "累计任职年限","标准年限","现时间"
        Dim s1 As String = e.DataRow("累计任职年限")
        Dim s2 As String = e.DataRow("标准年限")
        Dim s3 As String = e.DataRow("现时间")
        If s1 > "" AndAlso s2 > "" AndAlso s3 > "" Then
            Dim a1 As String() = s1.Split(".")
            Dim a2 As String() = s2.Split(".")
            Dim a3 As String() = s3.Split(".")
            Dim d3 As Date = new Date(a3(0), a3(1), 1)
            Dim d1 As Date = d3.AddYears(-a1(0)).AddMonths(-a1(1))
            Dim d2 As Date = d1.AddYears(a2(0)).AddMonths(a2(1))
            e.DataRow("备注") = format(d2, "yy.MM")
        End If
End Select


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


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2017/3/16 15:11:00 [显示全部帖子]

你先看懂代码啊。

 

建议,你看完日期的帮助文档

 

http://www.foxtable.com/webhelp/scr/1337.htm

 

http://www.foxtable.com/webhelp/scr/1424.htm

 

 

 


 回到顶部
总数 14 1 2 下一页