Integer()类型转换和StrToInt()区别

本文探讨了在Delphi中计算二进制算术累加和校验码的方法,并对比了使用Integer与StrToInt函数的不同之处。通过具体示例说明了在特定场景下Integer为何更为适用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在计算二进制算术累加和校验码时,下面一段函数

 

function CalcChecksum(Cmd:string): Integer;    {计算16进制和校验方式}
var
i: Integer;
begin
result :
= 0;
for i := 1 to Length(Cmd) do
begin
result :
= result + Integer(Cmd[i]); {此处的Integer能用StrToInt替换吗?}
end;
end;

 其中的Integer是否能用StrToInt替换吗?对于初步接触Delphi的我来说有些模糊。经过测试,发现答案是不能。

 StrToInt()要求参数是一个字符串形式的数字,例如StrToInt('25')等,而像StrToInt(#13)里面的参数是一个ASCII码字符,但对应的字符不一定是数字,所以不一定就能转换成为Integer类型的值。例如#13代表的是回车,只有像#48...#57才能使用StrToInt,因为#48...#57正好是数值0...9

 Integer是直接将ASCII值转换为对应的数值,在这里正好合适。

转载于:https://www.cnblogs.com/icky/archive/2010/02/17/1668870.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值