PHP Conference Fukuoka 2025

ceil

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

ceilRedondea al número superior

Descripción

ceil(int|float $num): float

Devuelve el entero superior del número num.

Parámetros

num

El valor a redondear

Valores devueltos

El valor num redondeado al entero superior. El valor devuelto es un número de punto flotante (número decimal), ya que el intervalo de valores de un número decimal es generalmente más amplio que el de un entero.

Historial de cambios

Versión Descripción
8.0.0 num ya no acepta objetos internos que soportan las conversiones numéricas.

Ejemplos

Ejemplo #1 Ejemplo con ceil()

<?php
echo ceil(4.3), PHP_EOL; // 5
echo ceil(9.999), PHP_EOL; // 10
echo ceil(-3.14), PHP_EOL; // -3
?>

Ver también

  • floor() - Redondea hacia el entero inferior
  • round() - Redondea un número de punto flotante

add a note

User Contributed Notes 5 notes

up
83
Scott Weaver / scottmweaver * gmail
17 years ago
I needed this and couldn't find it so I thought someone else wouldn't have to look through a bunch of Google results-<?php// duplicates m$ excel's ceiling functionif( !function_exists('ceiling') ){    function ceiling($number, $significance = 1)    {        return ( is_numeric($number) && is_numeric($significance) ) ? (ceil($number/$significance)*$significance) : false;    }}echo ceiling(0, 1000);     // 0echo ceiling(1, 1);        // 1000echo ceiling(1001, 1000);  // 2000echo ceiling(1.27, 0.05);  // 1.30?>
up
49
eep2004 at ukr dot net
7 years ago
Caution!<?php$value = 77.4;echo ceil($value * 100) / 100;         // 77.41 - WRONG!echo ceil(round($value * 100)) / 100;  // 77.4 - OK!
up
17
oktam
14 years ago
Actual behaviour:echo ceil(-0.1); //result "-0" but i expect "0"Workaround:echo ceil(-0.1)+0; //result "0"
up
22
steve_phpnet // nanovox \\ com
20 years ago
I couldn't find any functions to do what ceiling does while still leaving I specified number of decimal places, so I wrote a couple functions myself.  round_up is like ceil but allows you to specify a number of decimal places.  round_out does the same, but rounds away from zero.<?php // round_up: // rounds up a float to a specified number of decimal places // (basically acts like ceil() but allows for decimal places) function round_up ($value, $places=0) {  if ($places < 0) { $places = 0; }  $mult = pow(10, $places);  return ceil($value * $mult) / $mult; } // round_out: // rounds a float away from zero to a specified number of decimal places function round_out ($value, $places=0) {  if ($places < 0) { $places = 0; }  $mult = pow(10, $places);  return ($value >= 0 ? ceil($value * $mult):floor($value * $mult)) / $mult; } echo round_up (56.77001, 2); // displays 56.78 echo round_up (-0.453001, 4); // displays -0.453 echo round_out (56.77001, 2); // displays 56.78 echo round_out (-0.453001, 4); // displays -0.4531?>
up
8
frozenfire at php dot net
13 years ago
Please see http://www.php.net/manual/en/language.types.float.php for information regarding floating point precision issues.
To Top