redondeo .5 hacia abajo, .6 hacia arriba

886 views
Skip to first unread message

angel_pub

unread,
Jan 28, 2014, 7:02:40 PM1/28/14
to publice...@googlegroups.com
hola amigos del foro:

un saludo a todos, espero puedan ayudarme, manejo vfox 9 con sp2 sobre win 8, mysql 5, el problema que tengo actualmente y aun no logro dar es que necesito redondear son califiaciones,
si es de .5 es hacia abajo y .6 hacia arriba

ejemplo
9.5 seria 9
9.6 seria 10

el problema es que  mysql con la funcion round el 9.5 lo sube a 10 y fox tambien en un cursor sin pongo la funcion round el 9.5 me lo sube,
estoy seguro de que si se puede pero aun no logro dar con la funcion exacta......

agradezco de antemano sus comentarios y ayuda
saludos.

angel

Javier Solier

unread,
Jan 28, 2014, 7:19:48 PM1/28/14
to publice...@googlegroups.com

Hola en vez de redondear sumale 0.50 al resultado y obtenes el entero, ahi te va  a dar.

Saludos
Javier

angel_pub

unread,
Jan 28, 2014, 7:25:28 PM1/28/14
to publice...@googlegroups.com

perdon pero no entendi la idea........

Luis Maria Guayan

unread,
Jan 28, 2014, 7:29:17 PM1/28/14
to publice...@googlegroups.com
Disculpa que discrepe contigo, pero con mayor igual que .5 el redondeo es para arriba

? ROUND(9.49, 0)
? ROUND(9.50, 0)
? ROUND(9.51, 0)

Si un profesor me redondea .5 para abajo hago lio :-)

Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

edgar suarez kummers

unread,
Jan 28, 2014, 7:29:48 PM1/28/14
to publice...@googlegroups.com
Como dice Javier Soler,
ejemplo 4,5 se le suma 0.4 y produce 4.9 cuyo entero es 4
ejemplo 4,6 se le suma 0.4 y produce 5.0 cuyo entero es 5

Saludos

Luis Maria Guayan

unread,
Jan 28, 2014, 7:30:22 PM1/28/14
to publice...@googlegroups.com
O puedes usar estas funciones:

? RedondearMas(9.5, 0)
? RedondearMenos(9.5, 0)

? RedondearMas(9.6, 0)
? RedondearMenos(9.6, 0)

FUNCTION RedondearMas(tnNro, tnPos)
  RETURN CEILING(tnNro/10^tnPos)*10^tnPos
ENDFUNC

FUNCTION RedondearMenos(tnNro, tnPos)
  RETURN FLOOR(tnNro/10^tnPos)*10^tnPos
ENDFUNC



Luis María Guayán
Tucumán, Argentina
_________________________
http://www.PortalFox.com
Nada corre como un zorro
_________________________

J. Enrique Ramos Menchaca

unread,
Jan 30, 2014, 10:02:16 PM1/30/14
to publice...@googlegroups.com
Luis María, acá en México, en la primaria (educación básica) en la Ley de Educación establece que el x.5 se redondea hacia abajo, tal vez, ejemplo 5.6 daría 6.0 por lo que el alumno estaría aprobado.

Carlos Miguel FARIAS

unread,
Jan 31, 2014, 1:00:42 PM1/31/14
to Grupo Fox

Enrique: Acá en la Argentina, el 0.0 se redondea para 6.0.
Para todos y todas. Incluye el rango (y las rangas?) de 0 a 6 (seis o el valor requerido para aprobar)

Reply all
Reply to author
Forward
0 new messages