Cómo redondear hacia arriba en VBA, VB6 y VB.net con Round

Cómo redondear hacia arriba en VBA, VB6 y VB.net con Round

La función Round() devuelve un número redondeado al número de decimales especificado (2, hacia abajo…). Sin embargo, en ocasiones esta función no realiza la operación de manera correcta. En este artículo te enseñamos cómo solucionarlo empleando otra función.

¿Cómo utilizar la función Round()?

La función Round() consta de dos partes: la expresión numérica que se desea redondear y el número de posiciones decimales. A continuación, mostramos un ejemplo, en el cual podemos observar que no se realiza la operación de manera adecuada:

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

¿Qué función alternativa a Round() hay?

La siguiente función, llamada Redondeo(), no presenta este problema:

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

En su lugar, nos da como resultado:

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

¿Cómo redondear a 2 decimales en VBA?

Para redondear a 2 decimales en VBA, puedes utilizar la función Round de la siguiente manera:

numeroRedondeado = Round(numero, 2)

Como decíamos anteriormente, esta función te permite redondear un número al número de decimales especificado, en este caso, 2 decimales. Es muy útil cuando necesitas mostrar valores con una precisión determinada, como en cálculos financieros o científicos.

¿Cómo redondear hacia abajo en VBA?

Para redondear hacia abajo en VBA, puedes utilizar la función Int de la siguiente manera:

numeroRedondeado = Int(numero)

La función Int simplemente trunca el número decimal y devuelve la parte entera. Esto es útil cuando necesitas eliminar cualquier fracción decimal y trabajar solo con números enteros.

Lenguajes