Delphi里面有16进制转10进制的函数么?请问我的这个函数效率怎么样啊,又没有高效一点的算法实现转化??
function HexToDec(Hex:string):integer;
var i,len,rs1,rs,j:integer;
begin
rs:=0;
len:=length(Hex);
for i:=1 to len do//每重循环计算一位,从高位到低位
begin
rs1:=1;
for j:=1 to len-i do
rs1:= rs1*16;//计算其次方
case Hex[i] of
'0'..'9':rs:=rs+strtoint(Hex[i])*rs1;
'a'..'f':rs:=rs+(ord(Hex[i])-ord('a')+10)*rs1;
else
result:=-1;
exit;
end;
end;
result:=rs;
end;