Ver Mensaje Individual
  #2  
Antiguo 22-11-2014
Avatar de AgustinOrtu
[AgustinOrtu] AgustinOrtu is offline
Miembro Premium
NULL
 
Registrado: ago 2013
Ubicación: Argentina
Posts: 1.858
Reputación: 15
AgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en brutoAgustinOrtu Es un diamante en bruto
Yo para trabajar con importes monetarios uso el tipo currency. Podes hacer algo como esto:

Código Delphi [-]
procedure ...
var
   TotalEfectivo, TotalCheques, ... : currency
begin
    TotalEfectivo := StrToCurr(PesosArgentinos.Text) + StrToCurr(Dolares.Text) + ...;
    TotalCheques := StrToCurr(Cheque1.Text) + StrToCurr(Cheque2.Text) + ...; 
    TotalHaber.Text:= CurrToStrF(TotalEfectivo + TotalCheques + ..., ffCurrency, 2);
end;

Luego quedaria a gusto tuyo el como tratar las excepciones, no se si realizas alguna validacion en otro evento, ahi se asume que "esta todo bien"

El CurrToStrF es para decirle a Delphi que ademas de convertir a string un valor monetario, que le de formato. En el ejemplo que puse yo trunca el valor mostrando solamente 2 decimales y le agrega el signo de la moneda configurada ($, U$S, etc)

Tranquilamente podes usar tambien CurrToStr o mandarle otros parametros (revisa los posibles valores ademas del ffCurrency)

Eso lo podes poner en el OnExit de los edit, o en el OnChange.

Saludos!
Responder Con Cita