Foxtable(狐表)用户栏目专家坐堂 → 如何根据数值来进行等级划分


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

主题:如何根据数值来进行等级划分

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/22 20:40:00 [显示全部帖子]

Dim vals() As Double = {0.1,0.35,0.75,0.95}
Dim nms() As String = {"音乐","体育","地理","生物","历史","化学","政治","物理","英语","数学","语文","美术"}
Dim cnt As Integer = DataTables("表A").DataRows.count
For Each nm As String In nms
    Dim drs As List (of DataRow) = DataTables("表A").Select("", nm & " Desc")
    Dim dn As String = nm & "等级"
    For i As Integer = 0 To drs.count - 1
        If drs(i).IsNull(dn) = True Then
            drs(i)(dn) = Nothing
        Else
            Dim v As Double  = i /cnt
            If v > vals(3) Then
                drs(i)(dn) = "E"
            ElseIf v > vals(2) Then
                drs(i)(dn) = "D"
            ElseIf v > vals(1) Then
                drs(i)(dn) = "C"
            ElseIf v > vals(0) Then
                drs(i)(dn) = "B"
            Else
                drs(i)(dn) = "A"
            End If
        End If
    Next
Next

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/23 9:44:00 [显示全部帖子]

 看了下,代码没问题。不行就做个例子发上来。

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2015/1/23 9:46:00 [显示全部帖子]

 哦,写错列名了

 

Dim vals() As Double = {0.1,0.35,0.75,0.95}
Dim nms() As String = {"音乐","体育","地理","生物","历史","化学","政治","物理","英语","数学","语文","美术"}
Dim cnt As Integer = DataTables("表A").DataRows.count
For Each nm As String In nms
    Dim drs As List (of DataRow) = DataTables("表A").Select("", nm & " Desc")
    Dim dn As String = nm & "等级"
    For i As Integer = 0 To drs.count - 1
        If drs(i).IsNull(nm) = True Then
            drs(i)(dn) = Nothing
        Else
            Dim v As Double  = i /cnt
            If v > vals(3) Then
                drs(i)(dn) = "E"
            ElseIf v > vals(2) Then
                drs(i)(dn) = "D"
            ElseIf v > vals(1) Then
                drs(i)(dn) = "C"
            ElseIf v > vals(0) Then
                drs(i)(dn) = "B"
            Else
                drs(i)(dn) = "A"
            End If
        End If
    Next
Next


 回到顶部