x := integer(Edit1.Text);
y := integer(Edit2.Text);
z:= x+y;
Label3.Caption := inttostr(z);
当x=1 , y=1 时 z的输出为27955424到底是为什么? 怎样输出时正确的?
y := integer(Edit2.Text);
z:= x+y;
Label3.Caption := inttostr(z);
当x=1 , y=1 时 z的输出为27955424到底是为什么? 怎样输出时正确的?
y:=strtoint(Edit2.Text);
z:=x+y;
Label3.Caption := inttostr(z);
人家delphi已经给你相应的函数了strtoint,你就用人家的呗
integer(Edit1.text)的到地是指针值
稍微改进下,否则要用到try
x:=strtointdef(Edit1.Text,0);
y:=strtointdef(Edit2.Text,0);
z:=x+y;
Label3.Caption := inttostr(z);
x:=strtointdef(Edit1.Text,0);
?-
[/Quote]正解,楼主出来结贴了
假如lstr 是一个string类型的字符串,则 interger(lstr) 相当于 @lstr, 即取得的是 lstr在内存中的起始地址的整数形式。