小妹有一弱问题求助: 求文本文件中数据个数
录入文本中N个数据后,不知如何确定N是多少,还想知道怎么找出数据中最大值和最小值.注:各数据之间用逗号分离.小妹初学VB,希望能得到您的帮助!祝节日愉快! --------------------编程问答-------------------- 我觉得一个简便的办法就是len(文本)-len(replace(文本,",",""))+1,也就是用文本长度和文本去掉逗号后的长度求出逗号的个数,加上1应该就是数据的个数了,至于最大值、最小值,可以分解到数组里进行比较,不过我更喜欢插到数据库的表里去直接筛选。 --------------------编程问答-------------------- Dim min
Open "i:\tt.text" For Input As #1
Do While Not EOF(1)
Line Input #1, st
a = a & st & ","
Loop
Close #1
j = Split(a, ",")
min = Val(j(0))
For i = 1 To UBound(j)
If Val(j(i)) <min Then
min = Val(j(i))
End If
Next
Print min
这样做,得出来的最小值是,0,可是数据中没有0
--------------------编程问答-------------------- For i = 0 To UBound(j)-1 --------------------编程问答-------------------- 原因在于你的a = a & st & ","多加了一个逗号,所以得把最后一个值抛掉 --------------------编程问答-------------------- 楼上正解! --------------------编程问答-------------------- 我无话可说。split是干什么用的啊同志们? --------------------编程问答-------------------- '添加 Text1 Command1
Option Explicit
Dim MaxVal&, MinVal&, i&, aa$, s
Private Sub Command1_Click()
Randomize
aa = ""
For i = 0 To 9
aa = aa & CStr(Int(Rnd * 1000)) & ","
Next i
Text1.Text = Mid(aa, 1, Len(aa) - 1)
s = Split(Text1.Text, ",")
MinVal = 1000: MaxVal = 0
For i = 0 To UBound(s)
MinVal = IIf(Val(s(i)) < MinVal, Val(s(i)), MinVal)
MaxVal = IIf(Val(s(i)) > MaxVal, Val(s(i)), MaxVal)
Next i
MsgBox "最小值:" & CStr(MinVal) & Space(2) & "最大值:" & CStr(MaxVal)
End Sub
补充:VB , 基础类