función ceil

18/02/2004 - 20:17 por Bruce Almighty | Informe spam
Saludos al grupo

¿Alguien me podria decir porque la funcion ceil( ) me está
devolviendo el redondeo de un numero pero hacia abajo?, por ejemplo:

tengo :

paquetes = ceil ( bytesrcv / 10000 );

donde bytesrcv = 36589

36589/10000 me dá a 3.6589 y yo espero que ceil ( ) me devuelva un 4
y sin embargo me devuelve un 3, ¿porque?

Ing. Francisco Javier Orozco Candela
Ingeniería Digital Aplicada S.A. de C.V.

Preguntas similare

Leer las respuestas

#1 Cholo Lennon
18/02/2004 - 20:45 | Informe spam
Lo que pasa es que se está generando una división entera (sospecho que tu
variable bytesrcv es tambien de algún tipo entero). Esto hace que el
resultado de bytesrcv / 10000 sea 3. De ahí que ceil retorna 3. Puedes
forzar una división de tipo doble escribiendo 10000.0 o 10000.f (o en el
peor de los casos redeclarando a bytesrcv como float o double):

paquetes = ceil ( bytesrcv / 10000.0 );


Saludos
Cholo Lennon
Salta, ARG
Respuesta Responder a este mensaje
#2 Bruce Almighty
19/02/2004 - 00:37 | Informe spam
Gracias por tu ayuda, intentaré hacerlo de esa manera

"Cholo Lennon" escribió en el mensaje
news:
Lo que pasa es que se está generando una división entera (sospecho que tu
variable bytesrcv es tambien de algún tipo entero). Esto hace que el
resultado de bytesrcv / 10000 sea 3. De ahí que ceil retorna 3. Puedes
forzar una división de tipo doble escribiendo 10000.0 o 10000.f (o en el
peor de los casos redeclarando a bytesrcv como float o double):

paquetes = ceil ( bytesrcv / 10000.0 );


Saludos
Cholo Lennon
Salta, ARG


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida