VB我写了这个检查字符串是否为数字组成的代码 大家帮我看看有何问题?

来源:百度知道 编辑:UC知道 时间:2024/05/30 12:38:06
原理就是检查字符串num
如果其中全部为数字组成返回true
反之 false

Public Function chk_num(num As String) As Boolean
Dim i As Integer
Dim j As Integer
i = Len(num)
chk_num = False
Dim zero%, nine%
zero = Val(Asc(0))
nine = Val(Asc(9))
For j = 1 To i
If Val(Mid$(num, j, 1)) < zero Or Val(Mid$(num, j, 1)) > nine Then
Exit Function
End If
Next j
chk_num = True
End Function

问题就是无论我输入的是否是 纯数字组成 的字符串
它都显示FALSE!
郁闷而死
问题出在哪了呢?

ASC("0"),应该是这样写吧。你这个函数写得太复杂了。

如果这个功能不是编程本身的要求,只是程序中要用到这样的函数,可以用VB自带的IsNumeric函数,就是这个功能。

Public Function chk_num(num As String) As Boolean
Dim i As Integer
Dim j As Integer
i = Len(num)
chk_num = False
Dim zero%, nine%
zero = Val(0)
nine = Val(9)
For j = 1 To i
If Val(Mid$(num, j, 1)) < zero Or Val(Mid$(num, j, 1)) > nine Then
Exit Function
End If
Next j
chk_num = True
End Function

把 Exit Function 改成
chk_num= FALSE
Exit for

把开始的 chk_num=FLASE改成chk_num=TRUE

zero = Val(0)
nine = Val(9)