以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]有没有计算中位数跟众数的代码?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=178984)

--  作者:zto001
--  发布时间:2022/8/2 1:52:00
--  [求助]有没有计算中位数跟众数的代码?
[求助]有没有计算中位数跟众数的代码?需要简单点
--  作者:有点蓝
--  发布时间:2022/8/2 8:33:00
--  
网上搜吧,俺数学不好,已经完全不记得什么是中位数跟众数了


--  作者:zto001
--  发布时间:2022/8/2 19:45:00
--  
Private Shared Function getMedian(ByVal datas As Decimal()) As String
    Dim median As String

    If datas.Length = 0 Then
        median = "无"
    ElseIf datas.Length = 1 Then
        median = datas(0).ToString()
    ElseIf datas.Length Mod 2 = 0 Then
        Dim index As Integer = datas.Length / 2
        Dim value As Decimal = (datas(index - 1) + datas(index)) / 2
        median = String.Format("({0}+{1})/2={2}", datas(index - 1), datas(index), value)
    Else
        median = datas(datas.Length / 2).ToString()
    End If

    Return median
End Function


这个是放在全局代码吗?我要怎么放进全局代码,怎么调用?

--  作者:有点蓝
--  发布时间:2022/8/2 20:36:00
--  
参考:http://www.foxtable.com/webhelp/topics/1938.htm

Private Shared
改为
public

调用
dim datas() As Decimal = {值1,值2,....}
dim 结果 as string = getMedian(datas)
msgbox(结果)