网络编程
位置:首页>> 网络编程>> Asp编程>> ASP名次排列函数

ASP名次排列函数

  发布时间:2008-07-20 13:42:00 

标签:排名,函数,asp

近日,朋友写一个关于成绩管理的系统,其中遇到一个小问题。如果按照SQLSERVER的ORDER 排序时,比如遇到两个100分,结果必然是名次不同的,但事实上,应该是并列第1名。于是,写了这个简单的函数,以备后用。欢迎批评!

严重感谢王军同学,我一直以为如果“100 80 80 70”中,70分就是第3名,80分并第二名的,今天才知道,原来70还是第4名,第三名空缺。主呀,请原谅我的无知吧,上学时从来没上过榜呀!再次谢谢!

用法:

getPlace(成绩字符串, 排名成绩, 分隔符)

返回结果为 lng 表示名次

例如 getPlace("30|72|84|100|100|68|72|49", "72", "|")

返回值为 第4名

Function getPlace(aSrc, sTra, sPli)
Dim j, i
Dim aTmp, temp, lPl

aTmp = Split(aSrc, sPli)
lPl = 1

For j = 0 To UBound(aTmp)
For i = j + 1 To UBound(aTmp)
If aTmp(j) < aTmp(i) Then
temp = aTmp(j)
aTmp(j) = aTmp(i)
aTmp(i) = temp
temp = Empty
End If
Next
Next

For i = 0 To UBound(aTmp)

If aTmp(i) = CLng(sTra) Then
getPlace = lPl
Exit For
Else
lPl = lPl + 1
End If
Next
End Function
0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com