¿EOverflow?

Pues eso, que mi programilla me da un error de tipo EOverflow, con un mensaje "Floating point overflow".
Creo que el programa esta bien (en lo que se refiere a las operaciones que realiza):El problema es que consta de una cantidad ingente de operaciones.
Todas mis variables son de tipo real, pero también las definí como extended pero sigue igual.
Necesitaría saber como puedo hacer para que el programa me redondee o trunque los valores en el sexto decimal.
Espero haberme explicado con claridad. Gracias.
2

2 respuestas

Respuesta
1
Bueno una vez más deberías o debiste enviarme un poco del código para ver que esta pasando.
Generalmente el EOverFlow; es una excepción que se da de tipo matemático o de tipo bits; ¿Cómo es eso de tipo matemático y tipo bits?
Cuando se esta tratando de hacer una operación matemática de la siguiente forma:
a : Double64;
b : Double64;
c : Double;
y haces una aperacion de la siguiente manera:
c := a;
c := b;
c := b/a o al reves.
Igual cuando haces una división por cero; o tratas de asignar valores de un control a otro cuaya cantidad de valores en bit es menor.
Otra posibilidad podría ser los valores que están leyen;do podrían estar sobrepasando con creces la unidad de asiganacion a las variables.
Lo primero que debes hacer es checar los valores que estas introduciendo y luego monitorear el valor de las variables; para eso te recomiendo uses las ventanas de depuración "ADD Var; ADD watcher"; donde monitores el valor de las variables en cada sentencia del código.
Para truncar Valores existe por lo menos desde delphi 5 y superior la función TRUNC para números reales y extendidos;de todas maneras revisa en la ayuda a ver si encuentras la función equivalente a RND; presente en VB o C++. De todas maneras existen en la red librerías .DCU que son de mucha ayuda y van al rescate de Delphi; como es la probability3000 y la lilbStat
Que dan muchas más funciones equivalentes en VB listas para usar en DELPHI (Cualquier version).
Bueno éxitos. Y seguimos en linea.
Joder gracias, no es que te reenviara la pregunta sin querer especificarte, es que me lie y te la mande dos veces, en fin... no se si te comente que esto no es lo mio.Voy a casa a probar.Si tal ya te preguntare algo más. Cuando lea mi proyecto de fin de carrera un brindis te lo dedicare.Ya te comentar. Muchas gracias.
Respuesta
1
Podrías definir tus variables en ves de real ponlas de tipo double...
Y para el nnumero de decimales utiliza el FormatFloat el cual lleva como parámetros la mascara un un valor flotante o double... si no funciona dime en código más o menos que intentas hacer... ok

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas