请教如何将16进制转化为10进制(20分)

  • 主题发起人 yishengdxx
  • 开始时间
Y

yishengdxx

Unregistered / Unconfirmed
GUEST, unregistred user!
10进制化为16进制有函数可用但反之却没有
请教如何将16进制转化为10进制
 
var
i : integer
s : string;
begin
s := '$' + ThatHexString;
i := StrToInt(a);
end;
 
function hextodec(a:hexstring):integer;
begin
result:=strtoint('$'+a);
end;
 
这样对于某些较大的数转换会出错的。
function sqrn(int,times:int64):int64;
var i,j:integer;
begin
j:=1;
for i:=1 to times do
j:=j*int;
result:=j;
end;
function hextoint(hex:string):int64;
var i,k:integer;
j:int64;
begin
j:=0;
k:=length(hex);
for i:=0 to length(hex)-1 do
j:=j+strtoint('$'+hex[k-i])*sqrn(16,i);
result:=j;
end;

这样就没问题了。
 
多人接受答案了。
 
顶部