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函数
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函数
返回包含于字符串内的数字,字符串中是一个适当类型的数值。
语法
Val(string)
必要的 string 参数可以是任何有效的字符串表达式.
说明
Val 函数,在它不能识别为数字的第一个字符上,停止读入字符串。那些被认为是数值的一部分的符号和字符,例如美圆号与逗号,都不能被识别。但是函数可以识别进位制符号 &O(八进制)和 &H(十六进制)。空白、制表符和换行符都从参数中被去掉。
下面的返回值为 1615198:
Val(" 1615 198th Street N.E.")
在下面的代码中,Val 为所示的十六进制数值返回十进制数值 -1。
Val("&HFFFF")
注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。
这样才能把字符串型的数那来计算
否则电脑就要报告错误
例如:x="3人行"
你想计算3+5
打入:print x+5
就会报错,因为一串符号"3人行"和一个数5怎么相加呢
这时val就有用了:val(x)把符号"3"变成了数值3,就可以和5相加了
打入:print val(x)+5
就得到结果8
当然了,如果字符串x不是数开头,val(x)就默认是0
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 所以可以利用这一点过滤字符只能输入数字