请帮忙检查一下VB程序,非常感谢

来源:百度知道 编辑:UC知道 时间:2024/07/06 15:20:53
想用这个函数 判断某数是否为回文数 就是两边对称那种 例 1,111,121,56265,都是。
函数要为布尔型
Function IsH(n) As Boolean
l = Len(Text1)
For i = 1 To l
If Mid(Text1, i, 1) <> Mid(Text1, l - i, 1) Then
Exit For
IsH = False
Else
IsH = True
End If
Next
End Function
为什么一直是 false?
要求用MID 函数从两边往中间一个一个比较
拜托善良而智慧的朋友帮帮忙吧
急……

Function IsH(n) As Boolean
dim aa as string
aa=format(n)
if aa=StrReverse(aa) then
ish=true
else
ish=false
endif

End Function

晕:
Private Sub Command1_Click()

Print IsH(Text1)

End Sub
Function IsH(n) As Boolean
Dim aa As String
aa = Format(n)
n = Len(aa)
For i = 1 To n \ 2
If Mid(aa, i, 1) <> Mid(aa, n + 1 - i, 1) Then
IsH = False
Exit For
Else
IsH = True
End If
Next

End Function

mid函数的第二个参数不能为0,只能从1开始
Mid(Text1, l - i, 1) 这句话,你的 i是从1 to l的,所以,当i=l的时候,l-i就是0了,会报错..

改成
For i = 1 To l-1

Private Sub Command1_Click()
Call IsH
MsgBox IsH
End Sub

Function IsH() As Boolean
If Len(Text1) = 1 Then
IsH = True
End If

If Len(Text1) > 1 Then
If Left(Text1, 1) = Right(Text1, 1) Then
IsH = True
Else
IsH = False
End If<