SoloCodigo
Programación General => C/C++ => Mensaje iniciado por: marisab en Miércoles 16 de Julio de 2003, 17:48
-
Hola:
¿Como puedo obtener la parte entera de un real, sin redondear ? (ANSI-C)
Gracias,:hippi:
-
ejemplo
float num=3.51;
float residuo=0;
float entero=0;
residuo=num % 1;
entero=num-residuo;
en c el operador % (porcentaje) se usa para obtener el residuo de dividir un numeo entre otro y se conoce como modulador.
Juank
-
es mas facil hacerlo directo:
float num=3.51;
int entero;
entero=(int)num;
y si lo quieres guardar en un float puedes poner ...=(float)(int)num; (sin el float te tiraria un warning pero igual funcionaria)
-
Lamentablemente con lo que tu dices no redondeas el numero, sino que lo truncas, yo cometi el mismo error.
Lo que hay que hacer es, con el metodo que te enseñe, determinar si el exedente al numero entero es mayor igual o menor a 0.5, y segun sea el caso se aproxima a donde sea pertinente.
Juank
-
si pero la pregunta era sin redondear. para redondear tambien puedes hacer ...=(int)(num+0.5);
-
si que pena... yo si soy mucha pelota...
pido deisculpas a todos.. lo que pasa es que ultimamente ando como distraido..y no con mujeres(lastimosamente)
sino con el desarrollo de mi trabajo de grado...
Juank
Por ciertyo lo que dices tampoco sirve..si fuera para redondear..
-
niños, la marihuana HACE daño :p
pero mmmm... seguro? xq si la parte decimal de num es >=.5, num+0.5 aumenta en 1 la parte entera y al truncarlo queda el numero redondeado, y si es <.5 se trunca y queda igual
-
ejemplo
0.2+0.5=0.7
truncado queda = 0
y el redondeo deberia ser = 1
..deja la marihuana en serio..y comprate un gamecoube...o ponte a programar videojuegos en c# y directx.. como hay por ahi...alguno..
Juank
-
parece q vamos a tener q cortarles la marihuana a los profes de basica, q nos enseñan diferente los conceptos. yo entendia por "redondear un numero con decimales" q si la parte decimal era >=.5 entonces se redondeara para arriba, y <.5 para abajo. o sea q redondear 2.7 es 3, pero 2.48 es 2. si hubieran escuchado a simon bolivar cuando proponia sudamerica como un solo pais no estaria pasando esto...