Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   calculo del iva en porcentaje? (https://www.clubdelphi.com/foros/showthread.php?t=55320)

jirbert 14-04-2008 06:02:28

calculo del iva en porcentaje?
 
buenas trabajo bajo delphi 6 tengo una lista de productos a la cual llamo desde el form!! en lo que me trae el precio indiferentemente cual sea, quisiera sacarle el porcentaje(Iva) en este caso (9%) para luego cuando lo agregue al dbgrid guardarlo en la base de datos, puede ser en un edit o label

gracias...

lKinGl 14-04-2008 06:27:45

declara 2 variable tipo double

Ejemplo:
Código Delphi [-]
 
Var
iva,total:double;
 
begin
total:=strtofloat(edittotal.text);
iva:=total*0.09;
editiva.Text:=format('%f',[iva]);
end;

jirbert 14-04-2008 06:41:40

muchas gracias!!
 
gracias IKinGl todo funciono a la perfeccion!!

muchas gracias!!

lKinGl 14-04-2008 06:42:50

de nada estamos para ayudarnos mutuamente :D

jirbert 14-04-2008 06:56:06

disculpa IKinGl tengo otra duda!! tengo otro campo.. el cual es el 'total' el seria = a precio + 9%


lo cual redacte asi
edit3.text:=edit1.text+edit2.text;

ejemplo

x = 250 + 22,5

250 + 22,5 = 272,5

x = 272,5


pero no hace eso, hace lo siguiente

x = 250 + 22,5

250 + 22,5 = 25022,5

x = 25022,5


disculpa la ignorancia!!

y gracias!! nuevamente...

lKinGl 14-04-2008 07:00:56

Hmm lo que sucede es que tienes que hacer una conversión de tipo recuerda que los campos de los edits son tomados por defecto tipo caracter y sin la converión logicamente te hará lo siguiente:

1+2=12

para que no te de ese resultado tiene que ser así:

Código Delphi [-]
begin
edit3.text:=strtoint(edit1.text)+strtoint(edit2.text);
end;

espero te sirva!!

jirbert 14-04-2008 07:04:13

me arrojo un error :confused:

[Error] Unit5.pas(180): Incompatible types: 'String' and 'Integer' :(

lKinGl 14-04-2008 07:05:09

¿Podrias mostrarme tu código?

asi podria ayudarte mejor!

jirbert 14-04-2008 07:09:21

Código:

procedure TForm5.FormMouseMove(Sender: TObject; Shift: TShiftState; X,
  Y: Integer);
 Var
iva,total:double;

begin
 if edit3.Text<>'' then
  begin
  total:=strtofloat(edit3.text);
  iva:=total*0.09;
  edit4.Text:=format('%f',[iva]);
  //edit5.text:=strtoint(edit3.text)+strtoint(edit4.text);
  end
 else edit4.Text:='';
end;


lKinGl 14-04-2008 07:17:17

Código Delphi [-]
Var
iva,total:double;
n1,n2,nt:integer;
  begin
   total:=strtofloat(edit3.text);
   iva:=total*0.09;
   edit4.Text:=format('%f',[iva]);
   n1:=strtoint(edit3.text);
   n2:=strtoint(Edit4.text);
   nt:=n1+n2;
   edit5.Text:=format('%f',[nt]);//Usa este tipo de salida
   edit5.text:=inttostr(nt);//O esta Otra Salida
  end
end;

Saludos!

jirbert 14-04-2008 07:28:21

otro error probe con ambos y me dio el mismo error

Project project1.exe raised exception class EConvertError with message “13,49” is not a valid integer value’. Process stopped. Use step or to run to continue

Lepe 14-04-2008 10:17:12

Si es un número Entero, no puede llevar decimales.
Si es un número en coma flotante, se usa el punto como separador decimal (suele ser lo normal).

Saludos

enecumene 14-04-2008 15:18:37

Cita:

Empezado por jirbert (Mensaje 279792)
otro error probe con ambos y me dio el mismo error

Project project1.exe raised exception class EConvertError with message “13,49” is not a valid integer value’. Process stopped. Use step or to run to continue

En vez de usar La función StrToInt debes usar la función StrToFloat, el amigo Lepe te ha dado una explicación más clara que el agua.

Saludos.

jirbert 15-04-2008 07:23:08

gracias a todos ya lo solucione como me orientaron!! gracias muy amables!!


La franja horaria es GMT +2. Ahora son las 07:46:31.

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