Hola Luís.
Según entendí, te referís a la cantidad de dígitos de una cifra, te paso tres formas:
Logarímica:
Código Delphi
[-]
function Digitos(Num: Integer): Integer;
begin
Result:= Trunc(Ln(Num)/Ln(10))+1
end;
Iterativa:
Código Delphi
[-]
function Digitos(n: Integer): Integer;
begin
Result:=0;
while n > 0 do
begin
n:= n div 10;
Inc(Result);
end;
end;
Recursiva:
Código Delphi
[-]
function Digitos(Num:Integer): Integer;
begin
if Num mod 10 = 0 then
Digitos:= 0
else
Digitos:= 1 + Digitos3(Num div 10);
end;
Saludos