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

 我来答
123饭后娱乐
2018-12-07 · TA获得超过4133个赞
知道答主
回答量:5
采纳率:100%
帮助的人:656
展开全部

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函数



逗比逗无悔
高粉答主

2018-12-16 · 繁杂信息太多,你要学会辨别
知道小有建树答主
回答量:28
采纳率:0%
帮助的人:1万
展开全部

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函数

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
laocui172
2007-03-11 · TA获得超过1754个赞
知道小有建树答主
回答量:1957
采纳率:0%
帮助的人:903万
展开全部
Val函数
返回包含于字符串内的数字,字符串中是一个适当类型的数值。

语法

Val(string)

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

说明

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

下面的返回值为 1615198:

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

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

Val("&HFFFF")

注意 Val 函数只会将句点(.)当成一个可用的小数点分隔符。当使用不同的小数点分隔符时,如在国际版应用程序中,代之以 CDbl 来把字符串转换为数字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
bdghzrn0ea7
2017-10-20 · TA获得超过5214个赞
知道大有可为答主
回答量:2320
采纳率:87%
帮助的人:558万
展开全部
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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
DoramiHe
2017-08-21 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59541
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
将一个数据行变量转换成数字长整型变量

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 所以可以利用这一点过滤字符只能输入数字
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式