Foxtable(狐表)用户栏目专家坐堂 → [求助]正负数


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

主题:[求助]正负数

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/7/11 8:33:00 [显示全部帖子]

 mr("仓储_金额") = mr("卖出_金额") - mr("买入_金额")

 

应该应该改为:

 

 mr("仓储_金额") =  mr("买入_金额") - mr("卖出_金额")


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/7/11 9:32:00 [显示全部帖子]

 设置完成代码之后,要重置一下列股piao名称列,以便根据新的代码重算一次。

 

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/7/11 10:54:00 [显示全部帖子]

 编程是严谨的,我告诉你:

 

 mr("仓储_金额") = mr("卖出_金额") - mr("买入_金额")

应该应该改为:

 mr("仓储_金额") =  mr("买入_金额") - mr("卖出_金额")

 

可是你五楼的代码中,有一处是:

 mr("仓储_金额") =  mr("买入_金额") - mr("卖出_金额")

有三处是:

drs(i)("仓储_金额") = drs(i-1)("仓储_金额") + drs(i)("卖出_金额") - drs(i)("买入_金额")
dr("仓储_金额") = dr("卖出_金额") - dr("买入_金额")

drs(i)("仓储_金额") = drs(i-1)("仓储_金额") + drs(i)("卖出_金额") - drs(i)("买入_金额")

 

 

至少你得统一算法吧? 到底是“买入 - 卖出”,还是“卖出 -买入”,你最清楚,根据你的图片,应该全是“卖出 - 买入”,统一改过来。

[此贴子已经被作者于2015/7/11 10:53:50编辑过]

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/7/11 10:55:00 [显示全部帖子]

Select Case e.DataCol.Name
    Case "股piao名称","卖出_金额","买入_金额"
       
        Dim dr As DataRow
        Dim mr As DataRow = e.DataRow
        Dim drs As List(of DataRow)
        dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [股piao名称] = '" & mr("股piao名称") & "'", "[_SortKey] Desc")
        If dr Is Nothing Then
            mr("仓储_金额") =  mr("买出_金额") - mr("卖入_金额")
            dr = mr
        Else
            mr("仓储_金额") = dr("仓储_金额")
        End If
       
        drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [股piao名称] = '" & dr("股piao名称") & "'", "[_SortKey]")
        For i As Integer = 1 To drs.Count - 1
           
            drs(i)("仓储_金额") = drs(i-1)("仓储_金额") + drs(i)("卖出_金额") - drs(i)("买入_金额")
        Next
        If e.DataCol.Name = "股piao名称" AndAlso e.OldValue IsNot Nothing AndAlso e.OldValue <> e.NewValue Then
           
            dr = e.DataTable.Find("[_SortKey] < " & mr("_SortKey") & " And [股piao名称] = '" & e.OldValue & "'", "[_SortKey] Desc")
            If dr Is Nothing Then
                dr = e.DataTable.Find("[股piao名称] = '" & e.OldValue & "'", "[_SortKey]")
                If dr IsNot Nothing Then
                    dr("仓储_金额") = dr("卖出_金额") - dr("买入_金额")
                End If
            End If
            If dr IsNot Nothing Then
                drs = e.DataTable.Select("[_SortKey] >= " & dr("_SortKey") & " And [股piao名称] = '" & dr("股piao名称") & "'", "[_SortKey]")
                For i As Integer = 1 To drs.Count - 1
                    drs(i)("仓储_金额") = drs(i-1)("仓储_金额") + drs(i)("卖出_金额") - drs(i)("买入_金额")
                Next
            End If
        End If
End Select


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/7/11 11:01:00 [显示全部帖子]

你一楼的要求和五楼的要求是矛盾的,你知道吗?

 

一楼要得到整数,必须:买入-卖出 

五楼要得到负数,必须:卖出-买入

 

自己先理清楚思路,然后修改代码。


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/7/11 11:43:00 [显示全部帖子]

 我不炒股,所以不懂你的算法,请描述一下

 

为啥1楼应该是1000,5楼应该是-100


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2015/7/11 14:51:00 [显示全部帖子]

 如果同一只股piao买了多次,价格不同,卖出其中一部分,那么怎么计算买入价是多少?

 回到顶部