如何将字符串中打印的数字转换为整数?
谢谢你。
程序 Val:
procedure Val(S; var V; var Code: Integer);
此过程对小数和实数进行运算。
参数:
用例:
Var Value :Integer;
Val('1234', Value, Code); // Value = 1234, Code = 0
Val('1.234', Value, Code); // Value = 0, Code = 2
Val('abcd', Value, Code); // Value = 0, Code = 1
您可以使用Val函数。
示例:
var
sNum: String;
iNum: Integer;
code: Integer;
begin
s := '101';
Val(s, iNum, code);
end.
你想要
Val()
。
你可以这样使用,
var
i: integer;
s: string;
begin
str(i, s);
write(i);
Textval := '123';
Val(Textval, Number, Code) ---> Code = 0, Number = 123
Textval := '12345x2';
Val( Textval, Number, Code) ---> Code = 6, Number remains unchanged;
Val( TextVal, Number , Code) 将字符串转换为数字。 如果可能,代码结果 = 0,否则错误指示编号。
自 ISO 标准 10206“扩展 Pascal”以来,过程
readStr
已内置到编程语言中。
它在功能上相当于 read
/readLn
与 text
文件结合使用(除了不需要 text
文件)。
这意味着前导空格将被忽略,后跟一个有效的 integer
文字,该文字以空格或简单的字符串末尾结尾。
示例:
program readStrDemo(output);
var
n: integer;
begin
readStr(' +1234 Hello world!', n);
writeLn(n) { prints 1234 }
end.
val
程序相反,您无法发出用户友好的错误消息,特别是哪个(第一个)字符是非法的。
Pascal 的内置 read
/readLn
/readStr
过程完全失败,具体细节取决于处理器。
另一方面,read
/readLn
/readStr
是标准化的,因此不存在供应商锁定。