Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Extraer Decimales De Un Numero (https://www.clubdelphi.com/foros/showthread.php?t=64553)

luis vazquez 07-04-2009 15:24:11

Extraer Decimales De Un Numero
 
Buenas tengo una duda como puedo extraer los decimales de un numero, o simplemente como extraeer los dos unltimos caracteres de una string, tengo instalado delphis 6, trate con ansisrightstr pero no reconoce la funcion se que algo estoy asiendo mal pero ni idea de que es, si alquien puede iluminarme el camino se lo agradeceria, por favor con un ejemplo, gracias. :(

Caro 07-04-2009 15:33:58

Hola, para extraer los decimales de un número puedes utilizar la función Frac

Código Delphi [-]
 decimales := Frac(45.87);

Saluditos

Delphius 07-04-2009 15:39:41

Hola luis vazquez,
La respuesta de caro es correcta, siempre y cuando conviertas el numero string a real.

Ahora bien, si el número lo tienes en string y lo que deseas es obtener los decimales en formato string puedes hacer uso de RightStr(). Esta función devuelve pertenece a la unidad StrUtils (disponible desde D6). La otra opción es emplear Copy() para copiar los 2, 3 o la cantidad de caracteres que representan a los decimales.

Revisa la ayuda sobre el uso de RightStr().

Saludos,
PD: Mi inglés me está fallando, no se si es RigthStr() o RightStr():o

Caro 07-04-2009 15:41:01

Hola, si quieres obtener los ultimos caracteres de una cadena puedes utilizar RightStr.

Código Delphi [-]
  Cad := RightStr(TuCadena, 2);

Saluditos

Cheerpipe 07-04-2009 16:28:43

y si los decimales son variables puedes usar



Código Delphi [-]
function extraerDecimalString(SeparadorDecimal: String; Texto: String): String;
var
  l: integer;
begin
  result:=RightStr(Texto,lenght(l)-pos(SeparadorDecimal,Texto));
end;

luis vazquez 07-04-2009 21:27:30

gracias por sus respuestas pero.....
 
trate de usar el rightstr pero me dice que no esta declarado y la verdad no se como declarar la funcion, trate de hacerlo antes del begin del procedure en unboton pero me da todo en blancon, no regresa nada.

procedure TForm1.Button1Click(Sender: TObject);

function RightStr(const AText: string; ACount: Integer): string;
begin
end;// si no pongo el begin y el end me genera error.

begin

label1.caption:=RightStr('Programmer', 7);

end;

la verdad ando mas enrredado que perro con 3 colas, agradeceria una respuesta, nunca he usado funciones y se que es cencillo pero no entiendo como declararlas

gracias por su prontas respuestas especialmente a caro
:o

Delphius 07-04-2009 22:01:59

Hola luis vazquez,
No hay declarar la función. La función ya fue declarada y pertenece a la unidad StrUtils, como lo he expresado unos post antes.

Intuyo que el error que te da se debe a que no declaraste en uses la unidad correspondiente.

Saludos,

Caro 08-04-2009 00:01:34

Hola, el error es porque debes añadir en uses la unidad StrUtils como te ha indicado Delphius.

Código Delphi [-]
uses
  Windows, Messages, ............., Dialogs, StrUtils;

Saluditos

luis vazquez 15-04-2009 19:51:56

Gracias
 
Gracias Por Sus Concejos, Todo Funciono Bien Despues De Meter El Strutil En Su Lugar, Ya Termine El Programa Y Aprendi Nuevas Cosas Muchas Gracias Por Su Ayuda:d


La franja horaria es GMT +2. Ahora son las 18:37:57.

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