用两种不同的方法来求实现数字字符串的最大,最小和平均值

网络整理 - 08-25
用两种不同的方法来求实现数字字符串的最大,最小和平均值
<%@ LANGUAGE = "VBscript"
ENABLESESSIONSTATE = False %>
<%
'1. Selecting the numbers from a string:
myString = "2, 4, 6, 8, 10, 12"
aValues = Split(myString, ",", -1, 1)

Function Min(someNumbers)
dblLowestSoFar = Null
For I = LBound(someNumbers) to UBound(someNumbers)
If IsNumeric(someNumbers(I)) Then
If CDbl(someNumbers(I)) < dblLowestSoFar Or IsNull(dblLowestSoFar) Then
dblLowestSoFar = CDbl(someNumbers(I))
End If
End If
Next
Min = dblLowestSoFar
End Function

Function Max(someNumbers)
dblHighestSoFar = Null
For I = LBound(someNumbers) to UBound(someNumbers)
If IsNumeric(someNumbers(I)) Then
If CDbl(someNumbers(I)) > dblHighestSoFar Or IsNull(dblHighestSoFar) Then
dblHighestSoFar = CDbl(someNumbers(I))
End If
End If
Next
Max = dblHighestSoFar
End Function

Function Avg(someNumbers)
dblHighestSoFar = Null
For I = LBound(someNumbers) to UBound(someNumbers)
If IsNumeric(someNumbers(I)) Then
If CDbl(someNumbers(I)) > dblHighestSoFar Or IsNull(dblHighestSoFar) Then
dblHighestSoFar = CDbl(someNumbers(I)) + CDbl(someNumbers(I)) /
End If
End If
Next
Avg = dblHighestSoFar
End Function

'2. Or, selecting the numbers from a database:
Set cnDZ = Server.CreateObject("ADODB.Connection")
cnDZ.Open "DSN=myDatabase"
Set rsLo = cnDZ.Execute("SELECT Min(PRICE) AS loPRICE FROM TBLADS")
Set rsHi = cnDZ.Execute("SELECT Max(PRICE) AS hiPRICE FROM TBLADS")
Set rsAvg = cnDZ.Execute("SELECT Avg(PRICE) AS avgPRICE FROM TBLADS")
%>
<html>
<body>
1. Selecting the numbers from a string:<br>
The lowest number is: <%=Min(aValues)%><br>
The highest number is: <%=Max(aValues)%><br>
The average number is: <%=Avg(aValues)%><br>
<br>
2. Selecting the numbers from a database:<br>
The lowest priced ad is: <%=FormatCurrency(Int(rsLo("loPRICE")))%><br>
The highest priced ad is: <%=FormatCurrency(Int(rsHi("hiPRICE")))%><br>
The average selling price of these ads is: <%=FormatCurrency(Int(rsAvg("avgPRICE")))%>
</body>
</html>
<%
cnDZ.Close
Set cnDZ = Nothing
rsLo.Close
Set rsLo = Nothing
rsHi.Close
Set rsHi = Nothing
rsAvg.Close
Set rsAvg = Nothing
%>