VB6.0:请教计算动态数组内元数个数不准确问题
Private Sub Command1_Click()Dim s() As String, a As Integer, b As Integer s = Split(Text1.Text, "_") '你输入的数值已存入数组s a = UBound(s) b = LBound(s) Text2.Text = a - b + 1 End Sub
Private Sub Command1_Click()Dim s() As String, a As Integer, b As Integer If (Left(Text1.Text, 1)) = "_" Then Text1.Text = Right(Text1.Text, Len(Text1.Text) - 1) If (Right(Text1.Text, 1)) = "_" Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1) s = Split(Text1.Text, "_") '你输入的数值已存入数组s a = UBound(s) b = LBound(s) Text2.Text = a - b + 1End Sub
[解决办法]
If (Left(Text1.Text, 1)) = "_" Then Text1.Text = Right(Text1.Text, Len(Text1.Text) - 1)
If (Right(Text1.Text, 1)) = "_" Then Text1.Text = Left(Text1.Text, Len(Text1.Text) - 1)
去掉就好了
[解决办法]
必须对每项进行检查,如果
trim(s(i))=""的项目必须去除
[解决办法]
测试结果是:
如果输入:
如果输入:_1_1_1_ 结果是:5
如果输入:1_1_1_ 结果是:4
完全正确
1_1_1 结果是:3 这个没什么可说的
_1_1_1_ 是前后各有一个空字符串
1_1_1_ 是在最后有一个空字符串
你只要想办法先去掉前后无用的_就可以了