Chức năng: Tính giá trị trung bình của một mảng kiểu số
Ngôn ngữ: asp - Nhóm: array
CÚ PHÁP
number = ArrayAverage(someArray)
Hàm tính trung bình cộng của các phần tử trong một mảng kiểu số.
VÍ DỤ
<%
Dim someArr(9)
someArr(0) = 22
someArr(1) = 18
someArr(2) = 13.4
someArr(3) = 11
someArr(4) = 9
someArr(5) = 4
someArr(6) = 22
someArr(7) = 16
someArr(8) = 8.33
someArr(9) = 1
Response.write ArrayAverage(someArr) & "<br />"
'--- returns: 12,473
%>
ASP Code
<%
Public Function ArrayAverage(ByVal NumericArray)
Const ERR_ARRAY_EXPECTED = 20000
Const ERR_ARRAY_EXPECTED_MSG = "Expected: Array"
Const ERR_ARRAYVALUE_NOT_NUMERIC = 20001
Const ERR_ARRAYVALUE_NOT_NUMERIC_MSG = "At least one element in the array is not numeric"
Dim lngCtr
Dim dblAns
Dim vValue
Dim dblSum
Dim lDivider
Dim lCount
Dim iStartPoint
If Not IsArray(NumericArray) Then
Err.Raise ERR_ARRAY_EXPECTED, , ERR_ARRAY_EXPECTED_MSG
End If
iStartPoint = 0
lDivider = UBound(NumericArray) + 1
'--- Determine if we are dealing with a 0 or one based array
On Error Resume Next
vValue = NumericArray(0)
If Err.Number > 0 Then
iStartPoint = 1
lDivider = lDivider - 1
End If
Err.Clear
On Error GoTo 0
lCount = UBound(NumericArray)
For lngCtr = iStartPoint To lCount
If Not IsNumeric(NumericArray(lngCtr)) Then
Err.Raise ERR_ARRAYVALUE_NOT_NUMERIC, , _
ERR_ARRAYVALUE_NOT_NUMERIC_MSG
Exit Function
End If
dblSum = dblSum + CDbl(NumericArray(lngCtr))
Next
dblAns = dblSum / lDivider
ArrayAverage = dblAns
End Function
%>