设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 2687|回复: 4
打印 上一主题 下一主题

[模块/函数] 字符串中数字相关的几个自定义函数

[复制链接]
跳转到指定楼层
1#
发表于 2013-2-6 17:11:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 netguestcn 于 2015-4-19 07:15 编辑

Public Function NumberGet(chkStr As String) As String
'从字符串中提取数字
    Dim i As Integer
    For i = 1 To Len(chkStr)
        If Mid(chkStr, i, 1) Like "[0-9]" Then
            NumberGet = NumberGet & Mid(chkStr, i, 1)
        End If
    Next i
    NumberGet = NumberGet
End Function

Public Function IsNumbersOnly(chkStr As String) As Boolean
'检测字符串是否全部由数字组成
   Dim i As Long
   Const AllNumbers = "0123456789"

   IsNumbersOnly = True
   For i = 1 To Len(chkStr)
       If InStr(AllNumbers, Mid(chkStr, i, 1)) = 0 Then
           IsNumbersOnly = False
           Exit Function
       End If
   Next i
End Function

  

Public Function NumberPos(chkStr As String) As Long
'检测字符串中第一个数字的位置
'函数值为0时,表示字符串中不包含数字
   Dim i As Long   
   For i = 1 To Len(chkStr)
       If Mid(chkStr, i, 1) Like "[0-9]" Then
           NumberPos = i
           Exit Function
       End If
   Next i   
End Function


Public Function NoNumbers(chkStr As String) As Boolean
' 检测字符串中是否不含数字
   Dim i As Long

   NoNumbers = True   
   For i = 1 To Len(chkStr)
       If Mid(chkStr, i, 1) Like "[0-9]" Then
           NoNumbers = False
           Exit Function
       End If
   Next i   
End Function


Public Function CutStr(chkStr As String) As String
'截取字符串中第一个数字前的字符
   Dim i As Long  
   For i = 1 To Len(chkStr)
       If Mid(chkStr, i, 1) Like "[0-9]" Then
           CutStr = Left(chkStr, i - 1)
           Exit Function
       End If
   Next i   
   CutStr = chkStr   
End Function

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 分享分享 分享淘帖1 订阅订阅

点击这里给我发消息

2#
发表于 2013-2-6 17:20:29 | 只看该作者
谢谢分享。。
3#
 楼主| 发表于 2013-2-6 18:05:13 | 只看该作者
Public Function NumberGet(chkStr As String) As String
'从字符串中提取数字
    Dim i As Integer
    For i = 1 To Len(chkStr)
        If Mid(chkStr, i, 1) Like "[0-9]" Then
            NumberGet = NumberGet & Mid(chkStr, i, 1)
        End If
    Next i
    NumberGet = NumberGet
End Function

点击这里给我发消息

4#
发表于 2013-2-6 23:33:54 | 只看该作者
谢谢分享!
5#
发表于 2013-2-7 22:08:29 | 只看该作者
Public Function NumberGet(chkStr As String) As String
'从字符串中提取数字
    Dim i As Integer
    For i = 1 To Len(chkStr)
        If Mid(chkStr, i, 1) Like "[0-9]" Then
            NumberGet = NumberGet & Mid(chkStr, i, 1)
        End If
    Next i
    NumberGet = NumberGet
End Function


这个模块我很想用,可是我是个菜鸟,能做个例子吗?谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-3 18:00 , Processed in 0.103903 second(s), 30 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表