VAL是什么?

2019-01-21 18:17

问题补充:
1rdff
1rdff ·
0 0

VB中的Val()函数

  这是一个把字符串转为数值的函数。

  它返回包含于字符串内的数字,字符串中是一个适当类型的数值。

  语法

  Val(string)

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

  说明

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

  下面的返回值为 1615198 :

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

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

  Val("&HFFFF")

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

  Val() 函数示例

  Dim MyValue

  MyValue = Val("2457") ' 返回 2457。

  MyValue = Val(" 2 45 7") ' 返回 2457。

  MyValue = Val("24 and 57") ' 返回 24。

Pascal中的Val()过程

  这是一个把字符串转为数值的函数,将S转为它的数值形式存入V中。

  说明:

  Procedure Val(S:String; Var V; Var Code:Integer);

  S 是由一系列数字字符构成的字符串类型变量;

  V 是整型或实型变量;

  Code 是Integer型变量,表示字符串转整数是否成功。

  Code详解:

  如果成功,Code的值是0 ;

  如果不成功,则Code的值为个转换不成功的字符的位置。

  比如:

  执行 Val('12345',a,Code) 后Code的值为0 ,表示转换成功,a的值为12345。

  执行 Val('12#32',a,Code) 后Code的值为3 ,表示在你要转换的字符串的第三位有一个非数字的字符,导致无法转换。此时a中没有你要的值。

  Val()过程示例:

  Var S:String; I, Code: Integer;

  Begin

  S:='1234';

  Val(S,I,Code);

  Writeln(i); {这里输出了1234 }

  End.