round(<number>[, <digits>])
La función round redondea un número a una precisión dada por el número de cifras decimales indicadas como argumento. Si no se indica el número de cifras decimales, se toma 0 como valor por defecto.
El valor devuelto se redondea al valor más próximo a un múltiplo de 10 ^ (- número de cifras decimales). Si dos múltiplos están igualmente próximos, se toma el valor par.
Si no se indica el número de dígitos para la parte decimal, la función devuelve un número entero. En cualquier otro caso (incluyendo el caso en el que se indiquen cero dígitos explícitamente) la función devuelve un número del mismo tipo que se esté redondeando.
El comportamiento de esta función redondeando números reales puede no ser el esperado. Así, round(2.675, 2) devuelve 2.67 en lugar del lógico 2.68. Esto no es un bug, sino el resultado de que la mayor parte de las fracciones decimales no pueden ser representadas exactamente como un número real. Más información.
- number: Número a redondear.
- digits: (Opcional) número de cifras decimales a incluir en el redondeo. Puede ser cualquier número entero, positivo, cero o negativo.
En este primer ejemplo se aproxima un valor próximo a PI a 2 y 4 decimales, respectivamente:
Si no se especifica el número de dígitos, la función devuelve un entero:
Sin embargo, si se especifican 0 cifras decimales, la función devuelve un número real:
En el caso de que haya dos valores igual de próximos (0.0 y 1.0, en el primer ejemplo de los dos mostrados a continuación, y -1.0 y 0.0 en el segundo), se devuelve el valor más próximo a la solución par:
Si se redondea un número a -1 cifras decimales, la función devuelve el valor más próximo a un múltiplo de 10, cero en el caso de que el número sea menor o igual a 5:
En los siguientes ejemplos, los múltiplos más próximos a 10 ** (-(-1)) son 10 y 20, respectivamente: