![]() |
Como aproximar un tipo float (double) a entero??
Buenas tardes.
Tengo un problema de "floating point division by zero"... y creo que la solucion es trabajar con enteros....necesito un metodo para solucionar este inconveniente.... Gracias por su ayuda. El tipo double es igual al float? puedo pasar double a entero en builder C++? Gracias. |
respuesta
hola amigo bueno me gustaria que me dieras mas datos sobre lo que tratas hacer para solucionar tu problema la verdad no le entiendo bien pero te tratare de ayudar.
como primer punto no puedes usar entero como un flotante ya que este no tiene la misma cantidad de bytes para almacernar todos los digitios en memoria. ahora si suponemos que tienes una variable de tipo flotante por ejemplo FLOTANTE=123.50; y lo quieres pasar a un doble tienes que usar una conversion. checa este ejemplo es codigo y funciona usa un boton y 2label's float flotante=123.50; //declaramos una variabel tipo flotante int entero; //declaramos una variable tipo entero donde va a caer el valor de la variable de tipo flotante Label1->Caption=flotante;//mandamos en valor a una etiqueta para que lo puedas ver como funciona entero=Label1->Caption.ToDouble();//le decimos que convierta el valor de la etiqueda a doble, pero ojo la variable es entero Label4->Caption=entero;//por ultimo mandamos el valor de la variable entero a una etiqueta para que veas como funciona /*ojo olvidate de los digitos despues del cero cuando conviertes, se eliminan, ten cuidado con eso/* para mayor infomacion te dejo esto tipo tamaño de bytes rango minimo y maximo int 2 -32768....32767 float 4 3.4*10-38........3.4*1028 double 8 no exedas la cantidad de bytes al convertir cualquier duda si la quieres aclarar me contactas, y recuerda cuando puedas ayuda a alguien, devuelve el favor |
gracias
Amigo mi problema es que tengo un tipo double y necsito compararlo con un entero...en esa comparacion double>int, me arroja el error de floating point divide by zero
|
Cita:
Si el error no debiera ocurrir, la solución es verificar primero si el denominador de la división es cero y si lo es, actuar como tu diseño lo ordene. Código:
if (divisor != 0} ;) |
El problema es que yo no hago la division...
Hola amigos y graacias...
el problema es que yo no efectuo ninguna operacion...es una funcion de un componente....pero es que el dato que esta me entrega es un double... y yo lo comparo con un float o int...pero no funciona.... El caso es ...aproximar el coeficiente....y botar la parte flotante..trabajar solo con enteros... Gracias |
convertir float y double a enteros
bueno amigo mira si quieres convertir un double o un float a entero tienes que hacer una conversion forzada aqui te pongo un ejemplo, pero creo que tu problema es otro, pero bueno aqui esta como convertir, espero te sirva, ahh otra cosa yo lo probe con c++ builder 6, y funciona
double primero=145.23; //declaramos una varible de tipo doble float segundo=145.23; //declaramos una varibale de tipo flotante int tercero=0; //aqui va a caer la primera variable cuando ya sea entero int cuarto=0; //aqui va a caer la segunda variable cuando ya sea entero ShowMessage(primero); //vemos en pantalla lo que tiene la variable 1 ShowMessage(segundo); //vemos en pantalla lo que tiene la variable 2 tercero=int(primero); //convertimos en entero la variable 1 y cae en 3 cuarto=int(segundo); //convertimos en entero la variable 2 y cae en 4 ShowMessage(tercero);//vemos en pantalla lo que tiene la variable 3 ya es entero ShowMessage(cuarto); //vemos en pantalla lo que tiene la variable 4 ya es entero if (tercero==cuarto)//condicion de comparacion y lo demas esta facil. ShowMessage("son iguales"); else ShowMessage("Son diferentes"); todo el codigo metelo en un boton y pruebalo, me avisas si te sirve, suerte amigo, de donde eres? |
La franja horaria es GMT +2. Ahora son las 00:42:22. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi