实例16 数据类型之间的转换

可以说编程序就是与数据类型打交道,能进行各种数据类型之间的转换是程序编写的基本功,基本功扎实了,程序运行后出现的问题就比较少,否则漏洞百出。当出现问题时,自己也找不到什么原因。

看看下面的代码:

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;

数据类型的转换很多,这里只举了几个常用的简单例子,目的在于提醒读者,不要小看数据类型转换。当程序出现错误时,也要从数据类型的转换角度去检查,因为它可能是造成错误的重要原因之一。

posted on 2022-03-06 01:30  Delphi搬运工  阅读(117)  评论(0)    收藏  举报