VB中VAL的问题
学习的过程中遇到一个问题。符号函数sgn(x)定义如下sgn(x)=1,x>0sgn(x)=0,x=0sgn(x)=-1,x<0编程中有一步骤X=Val(text1.te...
学习的过程中遇到一个问题。
符号函数sgn(x)定义如下
sgn(x) = 1 , x>0
sgn(x) = 0 , x=0
sgn(x) = -1 , x<0
编程中有一步骤 X=Val(text1.text) 这里Val是为了把字符串变成数值
但是之前我做了一道题,输入3个数,求最大值的题。
Dim a as single,b as single ,c as single,max as single
a=text1.text
b=text2.text
这里面比大小不也应该是把字符串变成数值吗?为什么不是啊? 展开
符号函数sgn(x)定义如下
sgn(x) = 1 , x>0
sgn(x) = 0 , x=0
sgn(x) = -1 , x<0
编程中有一步骤 X=Val(text1.text) 这里Val是为了把字符串变成数值
但是之前我做了一道题,输入3个数,求最大值的题。
Dim a as single,b as single ,c as single,max as single
a=text1.text
b=text2.text
这里面比大小不也应该是把字符串变成数值吗?为什么不是啊? 展开
4个回答
展开全部
1、val函数
val函数是把一个数据转换成纯数值型的。解释一下:在程序运行时,会产生很多数据,而要处理这些数据,需要用到数据处理函数(+、-、*、/都是哦),这些数据处理函数通常只针对数值型的数据,对字符型的数据(就是除了阿拉伯数字其余的所有文字都是字符型)无法处理,在运行中就会出现令人啼笑皆非的错误(记得我在我们班里的那次失败的演示吗?那时我没有用val函数处理数据,所以在加法那里如果两个文本框一个输入“苏津岳”另一个输入“大天才”,加法的结果就是“苏津岳是大天才”),所以大家要尽量使用val函数!但是val也不是哪里都能用的,如果你要处理一篇文章而你用了val函数,那么文章的内容就是:0(val函数在遇到非数字时会自动转换为0)。val的使用方法:a
(变量名)
=
(赋值号)
val
(数值型转换函数)(b)
b
为另一变量(当然也可以是所有的有储存数据的东西,比如text1.text
括号里的东西是为了解释,为了让大家看得更清楚,我再写一遍(不带解释括号)
a
=
val(text1.text)
或者
a
=
val
(
b
)
val函数是把一个数据转换成纯数值型的。解释一下:在程序运行时,会产生很多数据,而要处理这些数据,需要用到数据处理函数(+、-、*、/都是哦),这些数据处理函数通常只针对数值型的数据,对字符型的数据(就是除了阿拉伯数字其余的所有文字都是字符型)无法处理,在运行中就会出现令人啼笑皆非的错误(记得我在我们班里的那次失败的演示吗?那时我没有用val函数处理数据,所以在加法那里如果两个文本框一个输入“苏津岳”另一个输入“大天才”,加法的结果就是“苏津岳是大天才”),所以大家要尽量使用val函数!但是val也不是哪里都能用的,如果你要处理一篇文章而你用了val函数,那么文章的内容就是:0(val函数在遇到非数字时会自动转换为0)。val的使用方法:a
(变量名)
=
(赋值号)
val
(数值型转换函数)(b)
b
为另一变量(当然也可以是所有的有储存数据的东西,比如text1.text
括号里的东西是为了解释,为了让大家看得更清楚,我再写一遍(不带解释括号)
a
=
val(text1.text)
或者
a
=
val
(
b
)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个用TEXT的KeyPress事件解决
如果你的文本框叫TEXT1
添加以下代码
Private
Sub
txt_Text1_KeyPress(KeyAscii
As
Integer)
If
(KeyAscii
<
45
And
KeyAscii
<>
8)
Or
KeyAscii
=
47
Or
KeyAscii
>
57
Then
KeyAscii
=
0
MsgBox
"只能输入纯数字及小数点和负号"
End
If
End
Sub
如果你的文本框叫TEXT1
添加以下代码
Private
Sub
txt_Text1_KeyPress(KeyAscii
As
Integer)
If
(KeyAscii
<
45
And
KeyAscii
<>
8)
Or
KeyAscii
=
47
Or
KeyAscii
>
57
Then
KeyAscii
=
0
MsgBox
"只能输入纯数字及小数点和负号"
End
If
End
Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-12-16
展开全部
按理来说也必须先装换为数字,不然但你输入的不是数字时就会出现运行错误,类型不匹配。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询