Delphi - Super Urgente Ayudenme...

 
Vista:

Super Urgente Ayudenme...

Publicado por Charly Guerrero (4 intervenciones) el 16/05/2002 01:08:35
Saludos a todos y gracias por su apoyo, estoy atorado con esto....

No puedo hacer una division con el MOD....una variable es entera y la otra en tipo real....Lo que trato de hacer es lo siguiente
If Adeudo Mod Plazos <> 0 Then......Pero lo que me di cuenta es que si ponia una variable entrera y otra flotante me marca un error..."Operator not applicable to this operand type"......Como soluciono esto...

No puedo cambiar el tipo de las variables...Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Super Urgente Ayudenme...

Publicado por Fer (269 intervenciones) el 16/05/2002 08:43:09
Natualmente que no puedes utilizar un operando real para calcular el resto de una división (MOD). Se nota que no te has molestado ni un minuto en mirar la ayuda.

Lo que tienes que hacer es, o redondear el operando real con la función Round o despreciar los decimales utilizando Trunc. En cualquiera de los dos casos estarás introduciendo un error en tus cálculos (no me imagino que clase de operación puedes estar haciendo), pero es la única solución si no puedes cambiar el tipo de la variable.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Super Urgente Ayudenme...

Publicado por Diego Romero (636 intervenciones) el 16/05/2002 19:34:52
Por supuesto que no puedes usar MOD cuando uno o los dos operandos es de tipo real, al igual que en matematicas una división de números reales da como resultado otro número real, cuando divides dos numeros enteros te da como resultado un numero entero mas un resto entero. Debes cambiar de tipo a la variable de tipo real por entero (o equivalente), la perdida de precisión es inevitable.
Aunque sospecho que lo que quieres es determinar si se debe aplicar un interés por la deuda creo que sería mejor si lo haces así
if not ((Adeudo / Plazos) = 1.0) Then...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar