VB中如何从一段话中提取数字?

2024-12-03 19:36:30
推荐回答(2个)
回答(1):

VB中如何从一段话的文字中提取数字,需要先对文字中的字进行逐一循环判断,如果是数字,然后返回需要的结果。代码如下:
Private Sub Command1_Click()
Dim a As String
a = "我爱你1314,你呢"
For i = 1 To Len(a)'对文字中每个字循环判断
b = Mid(a, i, 1)
If IsNumeric(b) Then'判断改字是否是数字,用IsNumeric判断是否是数字
s = Val(Mid(a, i))'如果是数字,就提取出来,用到VAL函数
Exit For'提取数字后,退出循环。
End If
Next
MsgBox s 's的值就是1314
End Sub

回答(2):

看看这两个函数.应该能解决你的问题了.

Val 函数

返回包含于字符串内的数字,字符串中是一个适当类型的数值。

语法

Val(string)

必要的 string 参数可以是任何有效的字符串表达式.

说明

Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

下面的返回值为 1615198:

Val(" 1615 198th Street N.E.")

在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。

Val("&HFFFF")

注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。

Mid 函数

返回 Variant (String),其中包含字符串中指定数量的字符。

语法

Mid(string, start[, length])

Mid 函数的语法具有下面的命名参数:

部分 说明
string 必要参数。字符串表达式,从中返回字符。如果 string 包含 Null,将返回 Null。
start 必要参数。为 Long。string 中被取出部分的字符位置。如果 start 超过 string 的字符数,Mid 返回零长度字符串 ("")。
length 可选参数;为 Variant (Long)。要返回的字符数。如果省略或 length 超过文本的字符数(包括 start 处的字符),将返回字符串中从 start 到尾端的所有字符。

说明

欲知 string 的字符数,可用 Len 函数。

注意 MidB 函数作用于字符串中包含的字节数据,如同在双字节字符集(DBCS)语言中一样。因此其参数指定的是字节数,而不是字符数。对于使用 MidB的示例代码,请参阅示例主题中的第二个