La función Number.Round redondea un número al entero más próximo o a un cierto número de cifras decimales.
Number.Round(
number as nullable number,
optional digits as nullable number,
optional roundingMode as nullable number
) as nullable number
- number: número a redondear.
- digits: (opcional) número de cifras decimales del resultado.
- roundingMode: (opcional) modo de redondeo.
Por defecto, la función redondea number al entero más próximo. En el caso de distar la misma distancia de dos enteros, la función escogerá el número par más próximo.
Si number es NULL, la función también devuelve el valor NULL.
Si se especifica el parámetro digits, el resultado se devuelve con el número de cifras decimales indicadas.
El parámetro roundingMode se aplica cuando pueda realizarse el redondeo de más de una forma. El valor por defecto es RoundingMode.ToEven, lo que supone que, tal y como se ha comentado, en el caso de que existan dos soluciones, la función Number.Round optará por el número par. Las opciones disponibles son:
- RoundingMode.AwayFromZero, redondeo alejándose del cero
- RoundingMode.Down, redondeo hacia abajo (hacia -infinito)
- RoundingMode.ToEven, redondeo hacia el número par más próximo
- RoundingMode.TowardZero, redondeo hacia el cero
- RoundingMode.Up, redondeo hacia arriba (hacia +infinito)
Por defecto, la función redondea el número indicado al entero más próximo. Por ejemplo, el redondeo del número 3.1415 devuelve el valor 3:
Number.Round(3.1415)
3
Y el redondeo de 3.9415 devuelve el valor 4:
Number.Round(3.9415)
4
Por supuesto, si el número de cifras decimales (parámetro opcional) es cero, el resultado anterior no cambia:
Number.Round(3.1415, 0)
3
Pero si se especifica algún otro valor, el resultado devuelto por la función incluirá las cifras decimales indicadas:
Number.Round(3.1415, 1)
3.1
Number.Round(3.9415, 1)
3.9
En el caso de que existan dos soluciones, la función optará por el valor par. Así, el redondeo del número 2.5 podría ser 2 o 3, pues ambos números distan la misma distancia de 2.5. Sin embargo, Number.Round devuelve 2:
Number.Round(2.5)
2
Sin embargo, el redondeo del número 3.5 devuelve 4:
Number.Round(3.5)
4
El redondeo puede modificarse con el parámetro roundingMode. Por ejemplo, por defecto la función devuelve el valor 4 como redondeo de 3.5:
Number.Round(3.5)
4
Sin embargo, el uso de la función RoundingMode.Down como tercer parámetro fuerza que el redondeo se realice hacia el entero más próximo menor o igual:
Number.Round(3.5, null, RoundingMode.Down)
3