round

(PHP 4, PHP 5, PHP 7, PHP 8)

roundRedondea un float

Descripción

round(float $val, int $precision = 0, int $mode = PHP_ROUND_HALF_UP): float

Devuelve el valor redondeado de val con la precision especificada (número de dígitos desde el punto decimal). precision puede también ser negativo o cero (valor predeterminado).

Nota: PHP no maneja correctamente cadenas como "12,300.2" por defecto. Consulte conversión desde cadenas.

Parámetros

val

El valor a redondear

precision

Opcionalmente, el número de dígitos decimales a redondear.

mode

Use una de las siguientes constantes para especificar el modo de redondeo.

Constante Descripción
PHP_ROUND_HALF_UP Redondea val hacia arriba a precision lugares decimales alejándose de cero, cuando está a medio camino. Hace que 1.5 sea 2, y -1.5 sea -2.
PHP_ROUND_HALF_DOWN Redondea val hacia abajo a precision lugares decimales hacia cero, cuando está a medio camino. Hace que 1.5 sea 1, y -1.5 sea -1.
PHP_ROUND_HALF_EVEN Redondea val a precision lugares decimales hacia el siguiente valor par.
PHP_ROUND_HALF_ODD Redondea val a precision lugares decimales hacia el siguiente valor impar.

Valores devueltos

El valor redondeado

Ejemplos

Ejemplo #1 Ejemplos de round()

<?php
echo round(3.4);         // 3
echo round(3.5);         // 4
echo round(3.6);         // 4
echo round(3.60);      // 4
echo round(1.955832);  // 1.96
echo round(1241757, -3); // 1242000
echo round(5.0452);    // 5.05
echo round(5.0552);    // 5.06
?>

Ejemplo #2 Ejemplos de mode

<?php
echo round(9.50PHP_ROUND_HALF_UP);   // 10
echo round(9.50PHP_ROUND_HALF_DOWN); // 9
echo round(9.50PHP_ROUND_HALF_EVEN); // 10
echo round(9.50PHP_ROUND_HALF_ODD);  // 9

echo round(8.50PHP_ROUND_HALF_UP);   // 9
echo round(8.50PHP_ROUND_HALF_DOWN); // 8
echo round(8.50PHP_ROUND_HALF_EVEN); // 8
echo round(8.50PHP_ROUND_HALF_ODD);  // 9
?>

Ejemplo #3 Ejemplos de mode con precisión

<?php
/* Usar PHP_ROUND_HALF_UP com precisión de 1 dígito decimal */
echo round1.551PHP_ROUND_HALF_UP);   //  1.6
echo round1.541PHP_ROUND_HALF_UP);   //  1.5
echo round(-1.551PHP_ROUND_HALF_UP);   // -1.6
echo round(-1.541PHP_ROUND_HALF_UP);   // -1.5

/* Usar PHP_ROUND_HALF_DOWN com precisión de 1 dígito decimal */
echo round1.551PHP_ROUND_HALF_DOWN); //  1.5
echo round1.541PHP_ROUND_HALF_DOWN); //  1.5
echo round(-1.551PHP_ROUND_HALF_DOWN); // -1.5
echo round(-1.541PHP_ROUND_HALF_DOWN); // -1.5

/* Usar PHP_ROUND_HALF_EVEN com precisión de 1 dígito decimal */
echo round1.551PHP_ROUND_HALF_EVEN); //  1.6
echo round1.541PHP_ROUND_HALF_EVEN); //  1.5
echo round(-1.551PHP_ROUND_HALF_EVEN); // -1.6
echo round(-1.541PHP_ROUND_HALF_EVEN); // -1.5

/* Usar PHP_ROUND_HALF_ODD com precisión de 1 dígito decimal */
echo round1.551PHP_ROUND_HALF_ODD);  //  1.5
echo round1.541PHP_ROUND_HALF_ODD);  //  1.5
echo round(-1.551PHP_ROUND_HALF_ODD);  // -1.5
echo round(-1.541PHP_ROUND_HALF_ODD);  // -1.5
?>

Historial de cambios

Versión Descripción
5.3.0 Se introdujo el parámetro mode.
5.2.7 El funcionamiento interno en round() se modificó para adecuarse al estándar C99.

Ver también

  • ceil() - Redondear fracciones hacia arriba
  • floor() - Redondear fracciones hacia abajo
  • number_format() - Formatear un número con los millares agrupados