FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
|||
|
|||
Ayuda Urgente
cualquier forista que me pueda ayudar, resulta que tengo en un edit un valor numérico de 115.36
pues bien lo que a mi me interesa es solo los dos espacios decimales los 36 centavos y no se como suprimir los demas numeros. quisiera me ayuden lo mas rapido posible por que en otros lenguaje usamos la funcion ltrim y no se como se usa en delphi. gracias de antemano
__________________
EL Duque |
#2
|
||||
|
||||
Primero leete la Guía de Estilo.
¿En qué lenguaje se utiliza ltrim con este fin?... Puedes hacerlo buscando el punto con la función Pos y cortando el resto con la función Copy. En las últimas versiones de delphi, tienes mas funciones que te pueden ser útiles en la unit StrUtils. Si trabajas con números reales, puedes obtener la parte decimal con la función frac. Saludos!
__________________
delphi.com.ar Dedique el tiempo suficiente para formular su pregunta si pretende que alguien dedique su tiempo en contestarla. |
#3
|
||||
|
||||
Hola Nelson, según te apunta mi compañero Delphi.com, cosa que ya habrás leido supongo en la Guía de Estilo de los Foros, el título de las preguntas, debe describir el problema en la mayor medida posible y de esta manera se podrá solucionar con mayor rapidez, el poner ayuda urgente como título es contraproducente.
Las soluciones a lo que preguntas, teniendo en cuenta que no se puede resolver con lTrim, función que también existe en Delphi, TrimLeft ya que esta función lo único que hace es quitar los espacios por la izquierda, cosa normalmente no aplicable a un Edit, puesto que generalmente tendrá alineación izquierda. Las soluciones que te propone Delphi.com son las más apropiadas, ahora bien si siempre se va a tratar de un edit y siempre va a tener 2 decimales, sería más simple este código, que pongo a modo de ejemplo, faltaría adaptarlo a tus necesidades. Código:
ShowMessage(Copy(Edit1.text,Length(Edit1.Text)-1,2));
__________________
Guía de Estilo de los Foros Cita:
|
#4
|
|||
|
|||
Muy agradecido y les pido perdon, en la proxima seré mas explicito y expondre el tema, voy a probar sobre la explicacion que me dieron.
De Paso les deseo feliz navidad a todos los foristas
__________________
EL Duque Última edición por Nelson Alberto fecha: 10-12-2003 a las 15:29:42. |
#5
|
||||
|
||||
Muchas gracias por la felicitación te deseo lo mismo y sino te funciona el código no dudes en preguntar.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#6
|
||||
|
||||
Si no me equivoco existen las funciones rifth y left, que sirven para devilver los caracteres a isquierda o derecha que le pasas como parámetro.
Espero que os sirva de ayuda. Por cierto, las funciones trim, alltrim, rtrim, etc yo las conocía de clipper y dbase, del año en que Franco era corneta.
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#7
|
||||
|
||||
La verdad es que no existen estas funciones que mencionas en Delphi, en su defecto se utiliza la función Copy() algo similar al Substr() de Clipper.
Se puede crear un sucedaneo, por ejemplo: Código:
function RighString(Instring: String; Len:Integer):string; begin Result:=Copy(Instring,Succ(Length(InString) - Len), Len); end;
__________________
Guía de Estilo de los Foros Cita:
|
#8
|
|||
|
|||
Hola
marcos, supongo que se refiere a leftstr o rightstr. estas si que existen. ejemplo1 var s,r:string; begin s:='HOLA'; r := leftStr(s,2); showmessage(r); // este sera HO end; ejemplo2 var s,r:string; begin s:='HOLA'; r := rightStr(s,2); showmessage(r);// este sera LA end; Saludos |
#9
|
||||
|
||||
procedure TForm1.BitBtn1Click(Sender: TObject);
var Str1 : string; i : Integer; begin Str1:=188.25; for i:=1 to length(Str1)do if Str1[i]='.' then begin Str1 := copy(Str1,i+1,Length(Str1)); // esto es por si tiene mas de 2 caracteres la parte decimal ej(188.2556) Break; end; Showmessage(Str1); end; Espero que te sea de utilidad Última edición por acertij022 fecha: 11-12-2003 a las 16:52:25. |
#10
|
||||
|
||||
Hola descendents:
¿De qué versión de Delphi estamos hablando? Que yo sepa, hasta la versión 5 incluida, no existian estas funciones, no tengo a mano ahora la 7 donde creo recordar que si existen, incluso en la 6. Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
|
#11
|
|||
|
|||
Cita:
Cita:
|
#12
|
||||
|
||||
Perdonad, yo me refería a right y left ( derecha e izquierda ). Es que estaba merendando, y con la boca llena no se me entiende muy bien.
Un saludo
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#13
|
||||
|
||||
Ya me parecía haber visto partículas de mortadela sobre el monitor, no obstante estas funciones que citas existen en Clipper pero no en Delphi.
Un Saludo.
__________________
Guía de Estilo de los Foros Cita:
Última edición por marcoszorrilla fecha: 11-12-2003 a las 18:36:36. |
|
|
|