Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Go Back   Foros Club Delphi > Principal > Varios
Register FAQ Members List Calendar Guía de estilo Search Today's Posts Mark Forums Read

Coloboración Paypal con ClubDelphi

Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old 16/09/2014
Luis M.'s Avatar
[Luis M.] Luis M. is offline
Miembro Premium
 
Join Date: Sep 2004
Location: Ripollet - Barcelona
Posts: 212
Poder: 22
Luis M. Va por buen camino
Saber la unidad de un número

Hola.
Hay alguna función en delphi que devuelva la unidad de un número entero?
Ejemplo:
Unidad(1234)-> 4
O en su defecto, como se haría?

Un saludo
Reply With Quote
  #2  
Old 16/09/2014
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
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 ....
Reply With Quote
  #3  
Old 16/09/2014
Luis M.'s Avatar
[Luis M.] Luis M. is offline
Miembro Premium
 
Join Date: Sep 2004
Location: Ripollet - Barcelona
Posts: 212
Poder: 22
Luis M. Va por buen camino
Hola ecfisa.

Gracias por responder.
Quizás no me explique correctamente.
Quería saber la unidad de un número dado, o sea, el último número.
1538 -> 8
2906753 -> 3

Un saludo.
Reply With Quote
  #4  
Old 16/09/2014
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
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 de nuevo Luis.

Me quedé pensando que tal vez malinterpreté ( el 4 con los cuatro dígitos del ejemplo ) y te referías a obtener la unidad de una cifra.

Si fué así, simplemente:
Código Delphi [-]
  Unidad:= Numero mod 10;

Saludos

Edito: No había visto tu último mensaje pero ya me parecía que había entedido mal...
__________________
Daniel Didriksen

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

Last edited by ecfisa : 16/09/2014 at 20:34.
Reply With Quote
  #5  
Old 16/09/2014
Luis M.'s Avatar
[Luis M.] Luis M. is offline
Miembro Premium
 
Join Date: Sep 2004
Location: Ripollet - Barcelona
Posts: 212
Poder: 22
Luis M. Va por buen camino
Me funciona perfecto.
Muchas gracias.
Ya me había armado algo, lo pongo igualmente aquí.
Código Delphi [-]
Label1.Caption := Copy((IntToStr(14752343240)),Length(IntToStr(14752343240)),1);
tu código muchisimo mejor.
Un saludo.
Reply With Quote
  #6  
Old 16/09/2014
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Quote:
Originally Posted by Luis M. View Post
tu código muchisimo mejor.

Reply With Quote
  #7  
Old 17/09/2014
ecfisa's Avatar
ecfisa ecfisa is offline
Moderador
 
Join Date: Dec 2005
Location: Tres Arroyos, Argentina
Posts: 10,508
Poder: 38
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 Luis.

Sin embargo, tu función puede ser útil en casos especiales en que sería imposible usar la otra, por ejemplo:
Código Delphi [-]
var
  numStr: string;
  ultDig: Integer;
begin
  numStr:= '99147529999343245987123598199952245933587';
  ultDig:= StrToInt(Copy(numStr, Length(numStr), 1));
  ...

Saludos
__________________
Daniel Didriksen

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

Last edited by ecfisa : 17/09/2014 at 06:49.
Reply With Quote
  #8  
Old 17/09/2014
Casimiro Noteví's Avatar
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Join Date: Sep 2004
Location: En algún lugar.
Posts: 32,682
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
También es cierto
Reply With Quote
  #9  
Old 17/09/2014
Luis M.'s Avatar
[Luis M.] Luis M. is offline
Miembro Premium
 
Join Date: Sep 2004
Location: Ripollet - Barcelona
Posts: 212
Poder: 22
Luis M. Va por buen camino
Quote:
Originally Posted by ecfisa View Post

Sin embargo, tu función puede ser útil en casos especiales en que sería imposible usar la otra

Saludos
Vaya...
Me alegra poder aportar algo útil.

Muchas gracias y un saludo.
Reply With Quote
Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
Saber si hay disco en la unidad chinchan C++ Builder 2 23/02/2013 02:28
Saber si una unidad está disponible. vpepen Varios 2 12/04/2007 17:54
Saber nombre de la unidad de CD rex Varios 2 18/08/2005 23:16
Saber si hay un cd en la unidad de CD-ROM elpinjum Varios 0 22/10/2004 13:04
Modificar el numero de serie de una unidad de disco duro Sick boy API de Windows 2 06/10/2004 12:45


All times are GMT +2. The time now is 14:02.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi