请教一个关于VF的问题

来源:百度知道 编辑:UC知道 时间:2024/05/23 16:23:19
函数val的功能是将字符型数据转化成数值型数据,在命令窗口中输入:
?val("1+1")+val("2+2")
答案为什么会得到3.00呢?
请高手帮忙解决!

val函数将字符转化为数值,直到字符串中出现非数值符号止。
此题的+在字符串的中间,为“非数值符号”

val("1+1")=1
val("2+2")=2
所以转化结果是:3

你想要他得到多少? 你以为他会帮你加好再转换?
大哥, 这个函数它将里面的 + 号也当成字符的,不会当成表达式.

val函数要求的参数是以字符串形式表达的数值,而不是数学表达式,因此你给出的参数是错误的。在你的例子中val将加号之后的内容忽略掉了,因此有这样的结果。这只能说val函数还是很健壮的,事实上这时它返回什么你也不应该惊奇。比如你输入val("二百五"),你难道真的期望得到有意义的值吗?