可以说编程序就是与数据类型打交道,能进行各种数据类型之间的转换是程序编写的基本功,基本功扎实了,程序运行后出现的问题就比较少,否则漏洞百出。当出现问题时,自己也找不到什么原因。
看看下面的代码:
var
aa:double;
bb:Integer;
begin
aa:=1245.4;
bb:=aa;
end;
这是一种数据类型转换,从定义上看,aa是双精度型,bb是整数型,这种赋值方法是不可以的。反之,将整数值赋给双精度型则是可以的,比如:
var
aa:double;
bb:Integer;
begin
bb:=123;
aa:=bb;
end;
还有一些类型转换,需要用类型符强制转换,比如:
var
cc:char;
nn:Integer;
begin
nn:=$1234;
cc:=Char(nn);
end;
注意这种转换,由于两种类型的字节数不一致,可能会造成丢失部分数据。
还有一些转换,需要用一个中间函数进行,比如:
var
aa:double;
bb:Integer;
ass:string;
ss:Pchar;
begin
aa:=1245.44;
bb:=Trunc(aa); //浮点数取整
ass:=strPas(ss); //Pchar转换为string
end;
Pascal还有说明符as,它可以进行类型的强制转换,比如:
with Sender as TButton do
begin
Caption:='确定';
OnClick:=okClick;
end;
数据类型的转换很多,这里只举了几个常用的简单例子,目的在于提醒读者,不要小看数据类型转换。当程序出现错误时,也要从数据类型的转换角度去检查,因为它可能是造成错误的重要原因之一。