VBA.VB6/.Net - función Round con redondeo hacia arriba o abajo

Abril 2017



La función Round() no redondea bien para los números de la forma (2a + 0,5) x 10^-n (redondeados hacia abajo)
En cambio, los números de la forma (2a - 0,5) x 10^-n normalmente son bien redondeados hacia arriba.

Por ejemplo:

Round(0.15 , 1) = 0.2
Round(0.25 , 1) = 0.2
Round(0.35 , 1) = 0.4
Round(0.45 , 1) = 0.4

La función Redondeo que veremos a continuación no presenta este problema:

Redondeo(0.15 , 1) = 0.2
Redondeo(0.25 , 1) = 0.3
Redondeo(0.35 , 1) = 0.4
Redondeo(0.45 , 1) = 0.5

Private Function Redondeo(ByVal Numero, ByVal Decimales)  
      Redondeo = Int(Numero * 10 ^ Decimales + 1 / 2) / 10 ^ Decimales  
End Function


Consulta también

Artículo original escrito por . Traducido por Carlos-vialfa. Última actualización: 31 de agosto de 2010 a las 20:39 por Carlos-vialfa.
El documento «VBA.VB6/.Net - función Round con redondeo hacia arriba o abajo» se encuentra disponible bajo una licencia Creative Commons. Puedes copiarlo o modificarlo libremente. No olvides citar a CCM (es.ccm.net) como tu fuente de información.