VB语言中的val()函数是什么意思?如何使用?

如题所述

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

val()函数语法为:

i. val(字符表达式)

val()函数的功能为:将一组字符型数据的数字部分转换成相应的数值型数据

val()函数用法:

    例  x = "12 5fdsa DA456";

那么 val(x)应该返回125 后面的456不能返回来。

val()函数当识别到非数字,停止读入字符串。即如果字符串内有字母或其他非数字字符,val()函数只转换第一个 非数字字符之前的数字。当字符串的首字符为非数字时,返回值为0。

但是该函数可以识别进制符号比如八进制、十六进制。字符串中的空格和换行符也会从该参数中被去掉。

    例 a = "五颗星";

b = 3;

当进行运算 a + b 时显然是错误的。若想得到返回值为8,就要使用 val()函数

c = val(a) + b; 此时c的值为8。

ii. Val(C, V, Site)

功能为:将字符串C转换成与V相同的数值类型,并把转换后的结果赋值给V,如果字符串中有非数字,则V=0。Site用于返回非数字字符的位置。

扩展资料:

val()函数说明:

Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。

那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。

但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。

下面的返回值为 1615198:

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

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

Val("&HFFFF")

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

参考资料来源:百度百科-val函数



温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-12-16

val是一个将字符串参数转换成数值的函数,字符串参数中一般要含有数字,且以数字开头,val函数才会将其中的数字转换成适当的数值。

它能识别小数点和进位符号:&O和&H。但它不能识别可能作为数值一部分的符号和字符,例如美元符与逗号。参数中的空白符、制表符和换行符会被去掉。如果字符串不能转换为数值,将返回0。

val过程:

用法:Val(S,V,Code);

含义:将字符串S转换成与V相同的数值类型并赋值给V,如果字符串中有非数字,则V:=0,Code用于返回非数字字符的位置。

使用例子:

text1.text = "10"

text2.text = "11"

text3.text = text1.text+text2.text

按道理应该得到10+11(结果是21),但返回的是1011,这个是因为运算时候是字符运算。

text1.text = "10"

text2.text = "11"

text3.text = val(text1.text)+val(text2.text)

这样就返回21了 因为这里不是计算"11"+"12"而是计算11+12 前者等同于"11" & "12"。

如果是字符串或者空格会返回一个0,所以可以利用这一点过滤字符只能输入数字 。

扩展资料

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

下面的返回值为 1615198:

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

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

Val("&HFFFF")

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

参考资料:百度百科-Val函数

本回答被网友采纳
第2个回答  2007-03-11
Val函数
返回包含于字符串内的数字,字符串中是一个适当类型的数值。

语法

Val(string)

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

说明

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

下面的返回值为 1615198:

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

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

Val("&HFFFF")

注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。
第3个回答  2017-10-20
val(x)就是把字符串x开头的数取出来成为数值型数据
这样才能把字符串型的数那来计算
否则电脑就要报告错误
例如:x="3人行"
你想计算3+5
打入:print x+5
就会报错,因为一串符号"3人行"和一个数5怎么相加呢
这时val就有用了:val(x)把符号"3"变成了数值3,就可以和5相加了
打入:print val(x)+5
就得到结果8
当然了,如果字符串x不是数开头,val(x)就默认是0
第4个回答  2017-08-21
将一个数据行变量转换成数字长整型变量

text1.text = "10"
text2.text = "11"
text3.text = text1.text+text2.text
按道理应该得到10+11(结果是21),但是返回什么呢?返回的是1011 这个是因为运算时候是字符运算 所以这样不行

那么怎么办呢?
text1.text = "10"
text2.text = "11"
text3.text = val(text1.text)+val(text2.text)
这样就返回21了 因为这里不是计算"11"+"12"而是计算11+12 前者等同于"11" & "12"

如果是字符串或者空格会返回一个0 所以可以利用这一点过滤字符只能输入数字本回答被网友采纳
相似回答