PDA

Ver la Versión Completa : Extraer Decimales De Un Numero


luis vazquez
07-04-2009, 15:24:11
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


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.


Cad := RightStr(TuCadena, 2);


Saluditos

Cheerpipe
07-04-2009, 16:28:43
y si los decimales son variables puedes usar




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
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.


uses
Windows, Messages, ............., Dialogs, StrUtils;


Saluditos

luis vazquez
15-04-2009, 19:51:56
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