lnNro = 12345.67 ? RedondearMasAx(lnNro, 5) ? RedondearMenosAx(lnNro, 5) ? ? RedondearMasAx(lnNro, 25) ? RedondearMenosAx(lnNro, 25) ? ? RedondearMasAx(lnNro, 50) ? RedondearMenosAx(lnNro, 50) FUNCTION RedondearMenosAx(tnVal, tnDec) RETURN Floor(tnVal * 100/tnDec) / (100/tnDec) ENDFUNC FUNCTION RedondearMasAx(tnVal, tnDec) RETURN CEILING(tnVal * 100/tnDec) / (100/tnDec) ENDFUNCCada aplicación tiene sus propias necesidades de redondeo, diferentes a la función nativa ROUND() de Visual FoxPro. Es por ello que en la comunidad siempre se consulta sobre este tema, y en PortalFox existen las siguientes rutinas que cubren la mayoría de las necesidades:
-- Redondear a 5 centavos por arriba --
http://comunidadvfp.blogspot.com/2004/07/redondear-5-centavos-por-arriba.html
-- Redondear hacia arriba o hacia abajo --
http://comunidadvfp.blogspot.com/2007/06/redondear-hacia-arriba-o-hacia-abajo.html
-- Truncar un número --
http://comunidadvfp.blogspot.com/2004/08/truncar-un-numero.html
Luis María Guayán
No hay comentarios. :
Publicar un comentario
Los comentarios son moderados, por lo que pueden demorar varias horas para su publicación.