如何判断一个字符串中只有数字 0~9

john2008lyb 2003-08-23 12:53:50
如何判断一个字符串中只有数字 0~9
...全文
252 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
rainstormmaster 2003-08-23
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
Dim s As String
s = "1234567890asd"
MsgBox onlynum(s)
s = "0012345678901234"
MsgBox onlynum(s)
End Sub
Private Function onlynum(ByVal s As String) As Boolean
Dim i As Long
Dim olds As String
olds = s
For i = 0 To 9
olds = Replace(olds, CStr(i), "")
Next
Select Case Len(olds)
Case 0
onlynum = True
Case Else
onlynum = False
End Select
End Function

如果能够保证不含小数点及不是科学计数法表示的话
IsNumeric(vb自带函数)也可以胜任
飘零风 2003-08-23
  • 打赏
  • 举报
回复
To:cuizm(射天狼) 你漏掉了科学计数法,呵呵。用字符串"1E8"测试 :)
飘零风 2003-08-23
  • 打赏
  • 举报
回复
用IsNumeric函数判断字符串是否为数字型,如果是的话,再判断是否包括小数点、负号或者是字母E。如果都不包括的话,那就是全部由字符0-9组成了。
射天狼 2003-08-23
  • 打赏
  • 举报
回复
Private Sub Text1_KeyPress(KeyAscii As Integer)
If (KeyAscii < 48 Or KeyAscii > 57) And KeyAscii <> 8 Then KeyAscii = 0
End Sub
射天狼 2003-08-23
  • 打赏
  • 举报
回复
Private Sub Command1_Click()
If Val(Text1.Text) = Trim(Text1.Text) And InStr(Text1.Text, ".") = 0 Then
MsgBox "是数字", vbInformation
Else
MsgBox "非数字!", vbInformation
End If
End Sub
john2008lyb 2003-08-23
  • 打赏
  • 举报
回复
谢谢
19790219 2003-08-23
  • 打赏
  • 举报
回复
Private Sub Text1_KeyPress(KeyAscii As Integer)
MsgBox KeyAscii
End Sub

"0"对应的ASCII码为"48"
"1"对应的ASCII码为"49"
. .
. .
. .
"9"对应的ASCII码为"57"

7,759

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧