SoloCodigo

Programación General => Delphi => Mensaje iniciado por: JMAlonso en Sábado 8 de Octubre de 2005, 23:38

Título: Division Con Decimales
Publicado por: JMAlonso en Sábado 8 de Octubre de 2005, 23:38
Buenas noches a todos.

Existe alguna instruccion con la cual pueda dividir con decimales, ya que la
instruccion DIV solo permite la division entre integers.

Ejemplo:
               123,25 dividido entre 0,5  = 246,5

y ya puestos a preguntar con que tipo trabajo, float,real,variant.

Muchas gracias y perdonen mi ignorancia.

Saludos.
Título: Re: Division Con Decimales
Publicado por: JMAlonso en Domingo 9 de Octubre de 2005, 01:10
He averiguado que se pueden dividir reales con /.

Vale, pero ahora no se que me pasa, les pongo el codigo y les agredeceria
mucho que me echaran una mano, porque estoy un poco desesperado.

var Interes :float;

Interes:= ((strtofloat(FrmPrestamo.StGridCuadricula.Rows[Fila].Text) / 100) / 12);

y me da error de conversion, is not a valid floating point value.


Saludos.
Título: Re: Division Con Decimales
Publicado por: Enko en Domingo 9 de Octubre de 2005, 15:11
Cita de: "JMAlonso"
He averiguado que se pueden dividir reales con /.

Vale, pero ahora no se que me pasa, les pongo el codigo y les agredeceria
mucho que me echaran una mano, porque estoy un poco desesperado.

var Interes :float;

Interes:= ((strtofloat(FrmPrestamo.StGridCuadricula.Rows[Fila].Text) / 100) / 12);

y me da error de conversion, is not a valid floating point value.


Saludos.
Código: Text
  1.  
  2. strtofloat(FrmPrestamo.StGridCuadricula.Rows[Fila].Text);
  3.  
  4.  

Y si ejecutas solo esta instuccion, ¿sigue mandando el error?
Si es si, estas haciendo referencia a una celda equivocada.
Título: Re: Division Con Decimales
Publicado por: Amilius en Domingo 9 de Octubre de 2005, 15:58
Puede ser lio de configuración regional. Escribe el número en el formato de configuración regional en tu edit.
Título: Re: Division Con Decimales
Publicado por: bartolomeo en Lunes 10 de Octubre de 2005, 17:47
Seguro el problema es por que en la configuracion estas usando "," y en el strgrid usuas "." y por esto no lo reconoce como flotante o visceversa.
Título: Re: Division Con Decimales
Publicado por: Enko en Lunes 10 de Octubre de 2005, 18:10
Probá convertir el '.' en ',' o al revés.

Código: Text
  1.  
  2. var
  3.   F1,F2: Real;
  4.   S1, S2: string;
  5.   i: integer;
  6. begin
  7.  
  8.   S1 := '2.25'; // esta me da problema
  9.   S2 := '2,25';
  10.  
  11.   //***********************************
  12.   for i:= 1 to Length(S1) do
  13.       if S1[i] = '.' then S1[i] := ',';
  14.   //***********************************
  15.  
  16.   F1 := StrToFloat(S1);
  17.   F2 := StrToFloat(S2);
  18.  
  19.   WriteLn(F1, ' ', F2);
  20.   ReadLn;
  21.   { TODO -oUser -cConsole Main : Insert code here }
  22. end.
  23.  
  24.  

Si lo pones en una función que te devuelva la cadena  con la coma, será mucho mas facil.
Código: Text
  1.  
  2. function sacarComa(S: string): string;
  3. // el resto está claro
  4.  
  5.  
Título: Re: Division Con Decimales
Publicado por: JMAlonso en Martes 11 de Octubre de 2005, 00:25
Muchas gracias a tod@s.