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 07-09-2014
Luis.Lapuente Luis.Lapuente is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 17
Poder: 0
Luis.Lapuente Va por buen camino
Suma de dos Edit precio + IVA

Hola muy buenas noches ante todo saludo a toda esta comunidad… Bueno les cuento estoy creando un módulo de consulta el cual me muestra condigo, nombre, marca, imagen y precio sin impuesto, Hay esta mi problema quiero calcular el impuesto para que me lo muestre en un edit. Un pequeño ejemplo de cómo estoy trabajando
//En el edit código tengo esto
ADOTableImpuesto.filter:= 'CodProd = ' + QuotedStr ( Codigo.Text );
ADOTableImpuesto.Filtered:= true;
igv.Text:=ADOTableImpuesto.fieldbyname('Monto').asstring;
ADOTableProductos.filter:= 'CodProd =' + QuotedStr ( Codigo.Text );
ADOTableProductos.Filtered:= true;
SubTotal.Text:= ADOTableProductos.fieldbyname('Precio1').AsString;

//Y en el edit subtotal tengo esto y lo estoy trabajando en SUBTOTALCHANGE
var
A: Real;
B: Real;
begin
A :=strtofloat(subtotal.Text) ;
B :=strtofloat(edit1.Text);
total.text:=floattostr(a-b);

Mi problema es que me arroja un error ( “is not a valid floating point value.)
Pido por favor si me pueden ayudar soy muy novato en esto de echo sin mentir en mi primer proyecto
Imágenes Adjuntas
Tipo de Archivo: jpg consulta de precio.jpg (21,7 KB, 14 visitas)
Responder Con Cita
  #2  
Antiguo 07-09-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.464
Poder: 21
newtron Va camino a la fama
Hola.

Ahí creo que te pueden pasar dos cosas:

1º- Que alguno de los valores sea superior a 999 y tenga un punto o coma en los miles y por eso te de error, para poder pasar el número de string a float deberías de quitarle los posibles puntos o comas de puntuación de los miles.
2º- Que el signo decimal lo tengas puesto como punto en vez de coma y al intentar convertirlo te de error, el punto decimal debe de ser una coma.

Saludos
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 07-09-2014
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Windows:
Panel de control
Configuracion regional y de idioma
configuracion adicional
Cambia simbolo decimal por un punto y simbolo de separacion de miles por coma.
Aplicar
Cierra todo
reinicia windows
Listo
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 08-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 beholdecfisa is a splendid one to behold
Hola Luis.Lapuente, bienvenido a Club Delphi

Como a todos los que se inician te invitamos a leer nuestra guía de estilo.

Cita:
Empezado por Luis.Lapuente Ver Mensaje
...
//En el edit código tengo esto
ADOTableImpuesto.filter:= 'CodProd = ' + QuotedStr ( Codigo.Text );
ADOTableImpuesto.Filtered:= true;
igv.Text:=ADOTableImpuesto.fieldbyname('Monto').asstring;
ADOTableProductos.filter:= 'CodProd =' + QuotedStr ( Codigo.Text );
ADOTableProductos.Filtered:= true;
SubTotal.Text:= ADOTableProductos.fieldbyname('Precio1').AsString;

//Y en el edit subtotal tengo esto y lo estoy trabajando en SUBTOTALCHANGE
var
A: Real;
B: Real;
begin
A :=strtofloat(subtotal.Text) ;
B :=strtofloat(edit1.Text);
total.text:=floattostr(a-b);

Mi problema es que me arroja un error ( “is not a valid floating point value.)
...
También revisa que la propiedad Text de edit1 contenga un número decimal válido y no caracteres inconvertibles o esté vacío al momento de producirse el evento OnChange del TEdit subtotal.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #5  
Antiguo 08-09-2014
Luis.Lapuente Luis.Lapuente is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 17
Poder: 0
Luis.Lapuente Va por buen camino
Greacias ante mano

Hola muchas gracias por dedicarme su preciado tiempo… revise cada uno de los punto que me dieron y aun me continua el error, pero también me percate que el error se me produce al momento que el edit subtotal está vacío. Por ejemplo si edit subtotal queda en blanco me sale el error o si edit iva (edit1) queda en blanco me sale el mismo error la cosa es que mientras busca por el edit código esos dos campo quedan en blanco… Me podrían decir que puedo hacer aquí. Por favor
Responder Con Cita
  #6  
Antiguo 08-09-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
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 beholdecfisa is a splendid one to behold
Hola Luis.Lapuente.

Si alguno de los TEdit (Edit1 o subtotal) no tienen contenido, la función StrToFloat lanzará una excepción ya que la cadena vacía no es suceptible de ser convertida a número de punto flotante.

Tres opciones que evitan la situación:

A)
Código Delphi [-]
var
  A,B: Double;
begin
  try
    A:= StrToFloat(Edit1.Text);
  except
    Edit1.SetFocus;
    raise Exception.Create('Edit1 no tiene un número decimal válido');
  end;

  try
    A:= StrToFloat(subtotal.Text);
  except
    subtotal.SetFocus;
    raise Exception.Create('subtotal no tiene un número decimal válido');
  end;

B)
Código Delphi [-]
var
  A,B: Double;
begin
  if not TryStrToFloat(Edit1.Text, A) then
  begin
    Edit1.SetFocus;
    raise Exception.Create('Edit1 no tiene un número decimal válido');
  end;

  if not TryStrToFloat(subtotal.Text, B) then
  begin
    subtotal.SetFocus;
    raise Exception.Create('subtotal no tiene un número decimal válido');
  end;

C)
Código Delphi [-]
var
  A,B: Double;
begin
  A:= StrToFloatDef(Edit1.Text, 0);     // A = 0 si no se puede efectuar la conversión
  B:= StrToFloatDef(subtotal.Text, 0);  // B = 0 si no se puede efectuar la conversión

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #7  
Antiguo 08-09-2014
Luis.Lapuente Luis.Lapuente is offline
Miembro
NULL
 
Registrado: sep 2014
Posts: 17
Poder: 0
Luis.Lapuente Va por buen camino
Thumbs up Gracias ecfisa

Muchas gracias amigo te agradezco mucho..... Muy bueno el foro de verdad que si agradezco a todos ustedes por su tiempo y compartir sus conocimientos con personas como yo que estamos comenzando en este mundo
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
Suma de Edit Olenkaguilar OOP 7 21-03-2014 13:34:15
Suma en un Edit lily21 Varios 7 11-01-2010 11:01:52
validar edit con formato de precio Lizette Varios 8 19-11-2008 21:01:52
Precio de un soft CARSOFT_AR Varios 10 03-09-2008 21:59:22
Suma StrToInt para Edit vacios cocke C++ Builder 8 28-11-2006 09:19:40


La franja horaria es GMT +2. Ahora son las 18:54:01.


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