Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #21  
Antiguo 18-12-2017
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: Dec 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.064
Poder: 29
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 behold
Hola.

Un modo es que crees código para el evento OnExit de un TEdit y luego se lo asignes a todos los Edits que esperen números decimales para redondear.

Ejemplo:
Código Delphi [-]
...

procedure TForm1.EditsExit(Sender: TObject);
var
  d : Double;
begin
  d := StrToFloatDef(TEdit(Sender).Text, 0);
  TEdit(Sender).Text := FormatFloat('0.00', Redondear(d, 1));
end;
De este modo, cuando el Edit activo pierda el foco, mostrará el redondeo que deseas. ( StrToFloatDef )

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #22  
Antiguo 18-12-2017
Milworm99 Milworm99 is offline
Miembro
 
Registrado: Nov 2017
Posts: 31
Poder: 0
Milworm99 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Un modo es que crees código para el evento OnExit de un TEdit y luego se lo asignes a todos los Edits que esperen números decimales para redondear.
El problema es que cuando se multiplica 1 x 0.80 me arroja el valor 0.90

Última edición por Milworm99 fecha: 18-12-2017 a las 17:40:29.
Responder Con Cita
  #23  
Antiguo 18-12-2017
Milworm99 Milworm99 is offline
Miembro
 
Registrado: Nov 2017
Posts: 31
Poder: 0
Milworm99 Va por buen camino
Cita:
Empezado por ecfisa Ver Mensaje
Hola.

Un modo es que crees código para el evento OnExit de un TEdit y luego se lo asignes a todos los Edits que esperen números decimales para redondear.
Ya encontre el problema, para los que quieren que les multiplique un numero por un decimal ( ejemplo: 0.75 ) y el resultado les muestre redondeado utilizan esa función

Código:
function Redondear(const Numero: Double; const Digitos: Integer): Double;
var
  m: Double;
begin
  m:= Exp(Ln(10) * Digitos);
  Result:= Round(Numero * m + 5 / m) / m;
end;
Metodo de uso:

Código:
multiplicacion:Currency;  

multiplicacion := StrToFloatDef (edt1.Text, 0) * 0.75;
  Edt2.Text:= FormatFloat('0.00', Redondear(multiplicacion , 1));
Con esto logramos que al multiplicar 1 x 0.75 el valor nos muestre redondeado: 0.80

Y si quieren que multiplique un numero por un decimal ( ejemplo: 0.80) y el resultado les muestre redondeado, utilizamos:

Código:
Edt2.Text:= FormatFloat('0.00',multiplicacion);
Con esto logramos que al multiplicar 1 x 0.80 nos muestre el valor de : 0.80

Última edición por Milworm99 fecha: 18-12-2017 a las 17:55:12.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
problema texto de varios edit a otro edit rafaelon Varios 2 29-07-2017 22:49:02
Multiplicar y sumar en consulta sql sac SQL 2 30-03-2014 17:02:39
Multiplicar un edit con separador de miles rufo Varios 7 14-05-2012 18:41:22
Descargar varios enlaces automáticamente joanfran55 Internet 4 01-03-2009 11:11:04
Cambiar de edit automaticamente CRIS Varios 0 04-07-2003 13:26:18


La franja horaria es GMT +2. Ahora son las 16:56:45.


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