Contenido
La función Round en VBA se utiliza para redondear un número a un número específico de decimales. El funcionamiento de esta función es similar al redondeo estándar en matemáticas, donde si la parte decimal que se va a redondear es 5 o más, el número se redondea hacia arriba; si es menos de 5, se redondea hacia abajo.
Sintaxis básica
Round(Expression, [NumDigitsAfterDecimal])
- Expression: es el número que deseas redondear.
- NumDigitsAfterDecimal (opcional): es la cantidad de dígitos decimales al que deseas redondear Expression. Si se omite este argumento, Round usa 0, es decir, redondea al entero más cercano.
Ejemplo
Sub EjemploRound()
Dim numero As Double
Dim resultado As Double
numero = 3.14159
' Redondear a 2 decimales
resultado = Round(numero, 2)
Debug.Print "3.14159 redondeado a 2 decimales: " & resultado
' Redondear a 0 decimales (al entero más cercano)
resultado = Round(numero)
Debug.Print "3.14159 redondeado al entero más cercano: " & resultado
' Redondear a 3 decimales
resultado = Round(numero, 3)
Debug.Print "3.14159 redondeado a 3 decimales: " & resultado
End Sub
Este código imprimirá en la ventana Inmediato (puedes abrirla con Ctrl+G en el editor de VBA) lo siguiente:
- 3.14159 redondeado a 2 decimales: 3.14
- 3.14159 redondeado al entero más cercano: 3
- 3.14159 redondeado a 3 decimales: 3.142
Es importante tener en cuenta que la función Round puede comportarse de manera inesperada debido a la forma en que los números en punto flotante son representados en la memoria de la computadora. Para un control más preciso sobre el redondeo de números, especialmente en el caso de cálculos financieros, se puede optar por funciones como WorksheetFunction.Round, WorksheetFunction.RoundUp y WorksheetFunction.RoundDown las cuales son proporcionadas por la biblioteca de funciones de hoja de Excel y deben ser utilizadas de manera similar dentro de VBA.