实例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;
数据类型的转换很多,这里只举了几个常用的简单例子,目的在于提醒读者,不要小看数据类型转换。当程序出现错误时,也要从数据类型的转换角度去检查,因为它可能是造成错误的重要原因之一。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek “源神”启动!「GitHub 热点速览」
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 我与微信审核的“相爱相杀”看个人小程序副业
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
· spring官宣接入deepseek,真的太香了~