strtonum自定义一个函数进行进制转换 如 strtonum('1AA',16) 结果为426 下列函数实现有点小问题 求解!!!
自定义一个函数进行进制转换 如 strtonum('1AA',16) 结果为426 下列函数实现有点小问题 求解!!!function strtonum(str:string;s:integer):real;
var
i ,j,k,dec:integer;
c,sign:char;
sum:real;
begin
j:=strlen(pchar(str));
sign:='*';
sum:=0;
for i := 1 to j do
begin
c:=str[i];
if c='0' then
k:=0
else if c='1' then
k:=2
else if c='2' then
k:=2
else if c='3' then
k:=3
else if c='4' then
k:=4
else if c='5' then
k:=5
else if c='6' then
k:=6
else if c='7' then
k:=7
else if c='8' then
k:=8
else if c='9' then
k:=9
else if c='A' then
k:=10
else if c='B' then
k:=11
else if c='C' then
k:=12
else if c='D' then
k:=13
else if c='E' then
k:=14
else if c='F' then
k:=15
else
begin
sign:='/';
dec:=1;
k:=0;
end;
if sign='*' then
sum:=sum*s+k
else
begin
sum:=(sum+k)/dec;
dec:=dec*haob;
end;
end;
strtonum:=sum;
end;