VB 读TXT然后按规则统计参数个数后再算其平均数

来源:百度知道 编辑:UC知道 时间:2024/09/21 03:22:34
TXT文件中内容如下:为距离和对应角度(90度到90.75度),共有N组。
2621,90
2609,90.25
2625,90.5
2628,90.75
2628,90
2617,90.25
2636,90.5
2636,90.75
2636,90
2636,90.25
2621,90.5
2625,90.75
2625,90
2628,90.25
2640,90.5
2625,90.75
......
......
......
现想将同一角度的所有距离值求平均数,即
距离平均值,90
距离平均值,90.25
距离平均值,90.5
距离平均值,90.75

已经测试,没有问题!

Option Explicit

Private Sub Command1_Click()
Dim i, j, k, y, m, n, x, z As Integer
Dim flag As Boolean
Dim s As String
Dim avg, sum As Single
Dim a(), b
k = 0: flag = True
Open "d:\1.txt" For Input As #1
Do While Not EOF(1)
ReDim Preserve a(k)
Line Input #1, a(k)
k = k + 1
Print a(k - 1) & vbTab;
Loop
Print
Close #1
For j = LBound(a) To UBound(a)
y = 0
sum = 0
m = InStr(a(j), ",")
n = Val(Mid(a(j), 1, m - 1))
For z = 0 To j - 1
If n = Val(Left(a(z), 4)) Then flag = False: Exit For Else flag = True
Next
If flag = True Then
For i = j To UBound(a)
x = InStr(a(i), ",")
s = Val(Mid(a(i), 1, x - 1))
If s = n Then
sum = sum + Val(Mid(a(i), x + 1))
y = y + 1
End If
DoEvents
Next i
avg = Format(sum / y, "0.00&q