如题:从数据库里取数一大堆数,数据储存方式为文本,我只需要那个文本为数字字符的数据。。
val后判断好像不行呢请问有什么办法。

解决方案 »

  1.   

    1、以文本方式读取文本文件到一个字符串
    2、依次判断字符串中的字符的ASCII码,如果不在:&H30~&H39之间就不是数字,是数字就取出它存在另外一个字符串中
      

  2.   

    a = 21
    MsgBox a Like String(Len(a), "#")
      

  3.   


    我的意思是。
    数据库的文本,用sql 提取出来都是文本。
    isnumeric判断肯定都是FALSE
      

  4.   

    for idx = 1 to length(str)
       if isnumberic(mid(str,idx,1)) then
          str2 = str2 & mid(str,idx,1)
       end if
    nextmsgbox str2
      

  5.   

    字段名称
    名称A
    AINIAI爱你
    23
    2
    31
    41
    酒气恒22
    爱死kdj
    7
    阿卡拉上KK01
    8我需要的是里面纯的数字,
    那么结果就是:
    23
    2
    31
    41
    7
    8
      

  6.   

    引用7楼:for idx = 1 to length(str)
      if isnumberic(mid(str,idx,1)) then
        str2 = str2 & mid(str,idx,1)
      else
        str2 = ""  '一旦发现有非数字退出
        exit for
      end if
    nextmsgbox str2稍微修改下即可啊
      

  7.   

    'This code was generated by "RegTestTool v1.1.30", please call the sub TestReg.
    Private Sub TestReg()
        Dim strData As String
        Dim reg As Object
        Dim matchs As Object, match As Object    strData = "名称"  &  vbCrLf  & _
                  "名称A"  &  vbCrLf  & _
                  "AINIAI爱你"  &  vbCrLf  & _
                  "23"  &  vbCrLf  & _
                  "2"  &  vbCrLf  & _
                  "31"  &  vbCrLf  & _
                  "41"  &  vbCrLf  & _
                  "酒气恒22"  &  vbCrLf  & _
                  "爱死kdj"  &  vbCrLf  & _
                  "7"  &  vbCrLf  & _
                  "阿卡拉上KK01"  &  vbCrLf  & _
                  "8"    Set reg = CreateObject("vbscript.regExp")
        reg.Global = True
        reg.IgnoreCase = True
        reg.MultiLine = True
        reg.Pattern = "^\d+$"
        Set matchs = reg.Execute(strData)
        For Each match In matchs
            Debug.Print match.Value
        Next
    End Sub
      

  8.   

    哈哈,知道什么叫以讹传讹了,有isnumberic这个函数么?是IsNumeric
    楼主试试下面的代码
    Private Sub Command1_Click()
        Open "C:\1.txt" For Input As #1
            Do While Not EOF(1)   ' 循环至文件尾。
               Line Input #1, TextLine   ' 读入一行数据并将其赋予某变量。
               If IsNumeric(TextLine) Then
                Text1.Text = TextLine
               End If
            Loop
        Close #1
    End Sub
      

  9.   

    正则都用上了。我的天,如果是这样,我把数字转化为别的形式储存算了。
    上帝啊
    7楼的yiguangqiang88接分。。嘿嘿。对头。我发现大家思路都比我开阔呢,专业啊专业。
      

  10.   

    祝贺7楼的yiguangqiang88接到了分!
      

  11.   

    也!是谁把我写的isnumeric歪曲了??