asp 字母和数字的字符串,如何提取字符串中的数字。比如:字符串“km16”如何提取字符串数字“16”
答案:2 悬赏:70
解决时间 2021-02-16 19:54
- 提问者网友:美人如花
- 2021-02-15 23:10
asp 字母和数字的字符串,如何提取字符串中的数字。比如:字符串“km16”如何提取字符串数字“16”
最佳答案
- 二级知识专家网友:虚伪的现实
- 2021-02-15 23:54
送你一个函数吧,取得部分或全部字符串中的数值部分。当sAll为真时取得字符串中所有数字
' 使用:VarNum = Val(NumberString, [False|True])
Function Val(NumStr, sAll)
If IsNull(NumStr) Or NumStr = "" Then
Val = 0: Exit Function
End If
Dim i, ii, B
Const N = "-.0123456789"
If VarType(sAll) <> 11 And VarType(sAll) <> 2 Then
sAll = False
Else
sAll = CBool(sAll)
End If
For i = 1 To Len(NumStr)
ii = Mid(NumStr, i, 1)
If sAll = True Then '取出所有数字
If InStr(1, N, ii) > 0 Then
Val = Val & ii
B = IsNumeric(Val)
If i > 1 Then
If B = False Or Right(Val, 1) = "-" Then
Val = Left(Val, Len(Val) - 1)
End If
End If
End If
Else '遇到非数字时退出
If InStr(1, N, ii) = 0 Then
Exit For
Else
Val = Val & ii
B = IsNumeric(Val)
If i > 1 Then
If B = False Or Right(Val, 1) = "-" Then
Val = Left(Val, Len(Val) - 1)
Exit For
End If
End If
End If
End If
Next
If IsNumeric(Val) Then
Val = CDbl(Val)
Else
Val = 0
End If
End Function
' 使用:VarNum = Val(NumberString, [False|True])
Function Val(NumStr, sAll)
If IsNull(NumStr) Or NumStr = "" Then
Val = 0: Exit Function
End If
Dim i, ii, B
Const N = "-.0123456789"
If VarType(sAll) <> 11 And VarType(sAll) <> 2 Then
sAll = False
Else
sAll = CBool(sAll)
End If
For i = 1 To Len(NumStr)
ii = Mid(NumStr, i, 1)
If sAll = True Then '取出所有数字
If InStr(1, N, ii) > 0 Then
Val = Val & ii
B = IsNumeric(Val)
If i > 1 Then
If B = False Or Right(Val, 1) = "-" Then
Val = Left(Val, Len(Val) - 1)
End If
End If
End If
Else '遇到非数字时退出
If InStr(1, N, ii) = 0 Then
Exit For
Else
Val = Val & ii
B = IsNumeric(Val)
If i > 1 Then
If B = False Or Right(Val, 1) = "-" Then
Val = Left(Val, Len(Val) - 1)
Exit For
End If
End If
End If
End If
Next
If IsNumeric(Val) Then
Val = CDbl(Val)
Else
Val = 0
End If
End Function
全部回答
- 1楼网友:不服输的倔强
- 2021-02-16 01:12
判断ASCII码 0~9 是 38 到 47
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯