Ver Mensaje Individual
  #2  
Antiguo 16-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita