Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 03-10-2008
Avatar de jirbert
jirbert jirbert is offline
Miembro
 
Registrado: nov 2007
Ubicación: Valencia-Venezuela
Posts: 60
Poder: 17
jirbert Va por buen camino
Exclamation problema al convertir valor en edit de forma str a float

buenas noches como siempre lo hago antes de abrir un hilo nuevo busco primero a ver si consigo problemas relacionados con el mio, pero por ser internet se encuentra un gran cantidad de problemas paracidos pero de los que lei ninguno concuerda con el mio, por otra parte como me urge un pronta respuesta decidi abrir un hilo

aqui les dejo mi problema y espero me puedan ayudar gracias de antemano..

tengo un programa de facturacion, el cual al agregar o eliminar un producto me hace la siguiente funcion:
Código Delphi [-]
Var
Precio : Currency;
iva,total,total2:double;
n1,n2,nt:double;
begin
 precio := 0;
    form1.Table4.DisableControls;
    try
     form1.Table4.First;
      While Not form1.Table4.Eof do
      begin
       Precio := Precio + form1.Table4.FieldbyName('Total').ASCurrency;
       form1.Table4.Next;
      end;
       edit4.Text := CurrToStr(Precio);
        finally
     form1.Table4.EnableControls;
    end;
  begin
    total:=strtofloat(edit4.text);
    iva:=total*0.09;
    edit5.Text:=format('%f',[iva]);
    n1:=strtofloat(edit4.text);
    n2:=strtofloat(Edit5.text);
    nt:=n1+n2;
    edit6.Text:=floattostr(nt);
  end;

esto va calculado en tres tedit

edit1 subtotal este campo viene expresado en entero ya que todos lo productos que se ingresan son enteros
edit2 iva este flotante po lo de *0.09
edit3 total y este a su vez deveria ser flotante porque es la suma de edit1+edit2 pero no.

ejemplo:
asi deberia ser:

edit1 subtotal 13245
edit2 iva 1192,05
edit3 total 14437,05

asi lo hace:

edit1 subtotal 13245
edit2 iva 1192,05
edit3 total 14437,0

y como por otra parte tengo trabando el Atexto para convertir el monto en letras para la factura me da como resultado:

catorse mil cuatrocientos treinta y siete con cero cinco centimos

entonces no entiendo otra cosa que me interesaria es hacer que de este formato:

edit1 subtotal 13245
edit2 iva 1192,05
edit3 total 14437,05

se viera asi:

edit1 subtotal 1.3245
edit2 iva 1.192,05
edit3 total 14.437,05

con la separacion de decimales y de miles!!

gracias por la ayuda que puedas brindarme!!!!
__________________
Uso Delphi 6 y Tablas dBase IV...
Responder Con Cita
  #2  
Antiguo 03-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
La verdad es que eso de sumar lo podías hacer con un query:
Código Delphi [-]
query1.sql.text := 'select SUM(total) from tabla where idfactura = ' + inttostr(numeroFactura
query1.Open;
suma_total := query1.fields[0].AsCurrency;

En lugar de floattostr, usa FormatFloat(',#0.00', suma_total)

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #3  
Antiguo 03-10-2008
Avatar de jirbert
jirbert jirbert is offline
Miembro
 
Registrado: nov 2007
Ubicación: Valencia-Venezuela
Posts: 60
Poder: 17
jirbert Va por buen camino
Cool hola lepe gracias por la sugerencia

hola lepe gracias por la sugerencia, pero estoy empezando a creer que son problemas matematicos
porque
en este ejemplo

edit1
subtotal 59595
edit2 iva 5363,55
edit3 total 64958,55

me puse a sacar cuentas en calculadoras y al igual que mi programa omite en cero de la derecha del decimal. con respecto a lo de la separacion de decimales y miles. no me funciona yo estuve probando

Código Delphi [-]
edit6.text:=format('#.###,##', (edit6.text))

pero no me funciona ni la que me proporcionaste.. de todas formas gracias por la ayuda
__________________
Uso Delphi 6 y Tablas dBase IV...
Responder Con Cita
  #4  
Antiguo 03-10-2008
Avatar de Luis M.
[Luis M.] Luis M. is offline
Miembro Premium
 
Registrado: sep 2004
Ubicación: Ripollet - Barcelona
Posts: 212
Poder: 20
Luis M. Va por buen camino
Prueba esto:

Código Delphi [-]
edit6.text:=format('#,##0.00', (edit6.text))
Responder Con Cita
  #5  
Antiguo 03-10-2008
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿por que en lugar de utilizar TEdits para manejar valores monetarios no utilizas el TJVValidateEdit de las Jedi?, son gratis y muy muy recomendables.

Además de que te evitas la pena de andar haciendo conversiones de Str a Curr o viceversa:

UnValidateEdit.AsCurrency := FieldByName('unCampo').AsCurrency; // AsCurrency, AsINteger, AsFloat, AsString... como quieras.
UnValidateEdit.AsCurrency := OtroValidate.AsCurrency + 100;

Y para los formatos, simplemente editar una o dos propiedades y te olvidas del formato...
__________________

Responder Con Cita
  #6  
Antiguo 03-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por jirbert Ver Mensaje
hola lepe gracias por la sugerencia, pero estoy empezando a creer que son problemas matematicos
porque
en este ejemplo

edit1
subtotal 59595
edit2 iva 5363,55
edit3 total 64958,55

me puse a sacar cuentas en calculadoras y al igual que mi programa omite en cero de la derecha del decimal. con respecto a lo de la separacion de decimales y miles. no me funciona yo estuve probando

Código Delphi [-]
edit6.text:=format('#.###,##', (edit6.text))

pero no me funciona ni la que me proporcionaste.. de todas formas gracias por la ayuda
Hola

Yo sugiero que se use esto:

Código Delphi [-]
  edit1.Text := Format('%m',[subtotal]);
  edit2.Text := Format('%m',[IVA]); 
  edit3.Text := Format('%m',[subtotal+IVA]);

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
  #7  
Antiguo 03-10-2008
Avatar de jirbert
jirbert jirbert is offline
Miembro
 
Registrado: nov 2007
Ubicación: Valencia-Venezuela
Posts: 60
Poder: 17
jirbert Va por buen camino
Cool hola egostar gracias por el suministro

hola egostar gracias por el suministro, pero al igual que el de lepe no me da respuesta diferente sigue siendo la misma, ContraVeneno de casualidad tienes algun link para descargar eso de las jevi porque estuve googleando y no consegui nada!!
__________________
Uso Delphi 6 y Tablas dBase IV...
Responder Con Cita
  #8  
Antiguo 03-10-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Busca por JVCL seguro que vas derechito a la web

Si no te funciona, ojito que en mi ejemplo suma_total está declarado como un float, si es un string desde luego que no funciona.

saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #9  
Antiguo 03-10-2008
[egostar] egostar is offline
Registrado
 
Registrado: feb 2006
Posts: 6.557
Poder: 25
egostar Va camino a la fama
Cita:
Empezado por jirbert Ver Mensaje
hola egostar gracias por el suministro, pero al igual que el de lepe no me da respuesta diferente sigue siendo la misma, ContraVeneno de casualidad tienes algun link para descargar eso de las jevi porque estuve googleando y no consegui nada!!
Hola,

No te entiendo, esto es lo que me muestra a mi.



Esto es como hago los calculos

Código Delphi [-]
  subtotal := 13245;
  iva := SubTotal * 0.09;
  edit1.Text := Format('%m',[SubTotal]);
  edit2.Text := Format('%m',[IVA]);
  edit3.Text := Format('%m',[SubTotal+IVA]);

Salud OS
__________________
"La forma de empezar es dejar de hablar y empezar a hacerlo." - Walt Disney
Responder Con Cita
Respuesta



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
dar formato float a un edit Jheysson13 Varios 6 05-07-2008 22:30:58
Convertir de Texto a Float egarc SQL 6 13-12-2007 15:18:42
convertir edit de string a float Kamael OOP 1 11-08-2007 03:33:23
Como Convertir un dato Integer ó Float a String en FireBird???? AGAG4 Firebird e Interbase 8 04-12-2004 02:59:47
Valor Null en campo float de un FasReport Romanosky Impresión 4 10-11-2004 17:56:04


La franja horaria es GMT +2. Ahora son las 05:04: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
Copyright 1996-2007 Club Delphi