PHP: ceil - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

cos bindec

Last updated: Sat, 27 Jan 2007

view this page in

# ceil

(PHP 3, PHP 4, PHP 5)

ceil -- Округляет дробь в большую сторону

## Описание

float ceil ( float value )

Возвращает ближайшее большее целое от `value`. Тип возвращаемого значения остаётся float т.к. диапазон float больше integer.

Пример 1. Пример функции ceil()

`<?php echo ceil(4.3); // 5 echo ceil(9.999); // 10 echo ceil(3.0); // 3 ?>`

См. также floor() и round().

add a note User Contributed Notes
ceil
admin("AT")dbss('DOT')dk
21-Jan-2007 02:31
`This note can be uset to eg. page shift.
$GbogRes = mysql_query("SELECT * FROM table WHERE felt = userid");
$CountRow = mysql_num_rows($GbogRes);
echo ceil($CountRow / 10);
so can you look X page you can shift.`
rjones at i-ps dot net
05-Mar-2006 04:19
`To eliftymes below:
To check if a numer is divisible by another number just check if the modulus is zero:
if ($bigger_number % $lower_number == 0)
{
echo "Can be wholey divided<br />";
}
else
{
echo "Not wholey divisible";
}`
tom pittlik
27-Feb-2006 04:02
`ceil() is a useful way to quickly format bogus shopping cart quantities:
<?
ceil("str"); // 0
ceil("001"); // 1
ceil("0.1"); // 1
ceil("a34"); // 0
ceil("2fg"); // 2
ceil("$%%"); // 0
?>`
eliftymes at gmail dot com
23-Feb-2006 12:20
`Here's a little function I wrote that checks if a number is divisible by another number.
function check_divisible($number, $divider) {
if(ceil($number/$divider) == $number/$divider) {
return TRUE;
} else {
return FALSE;
}
}
Useage would be as so.
$bigger_number=10;
$smaller_number=2;
if(check_divisible($bigger_number, $smaller_number)) {
echo "$bigger_number is divisible by $smaller_number!";
} else {
echo "$bigger_number is NOT divisible by $smaller_number!";
}
It's possible uses would be for:
Every 3rd, fourth, fifth, or whatever row in a table could be treated uniquely
Simple games...
Teaching your little kid math.`
ermolaeva_elena at mail dot ru
20-Dec-2005 07:27
`To round a number up to the nearest power of 10,
I've used
= ceil(intval($val)/10)*10;`
nobody
22-Nov-2005 09:00
`Here's a more simple one to do ceil to nearest 10:
function ceilpow10(val) {
if (val % 10 == 0) return val;
return val + (10 - (val % 10));
}`
schmad at miller dash group dot net
18-Apr-2005 09:38
`To round a number up to the nearest power of 10 use this simple procedure:
$multiplier = .1;
while($number>1)
{
$number /= 10;
$multiplier *= 10;
}
$number = ceil($number) * $multiplier;`
coxswain at navaldomination dot com
16-Mar-2005 02:06
`steve_phpnet // nanovox \\ com wouldn't:
<?php
$ceil = ceil(4.67 * 10) / 10;
?>
work just as well?`
steve_phpnet // nanovox \\ com
28-Feb-2005 12:40
`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
?>`
sven at plus dot hr
10-Feb-2005 03:59
`function roundaway($num) {
switch($num) {
case ($num > 0):
$n = ceil($num);
break;
case ($num < 0):
$n = floor($num);
break;
case ($num == 0):
$n = 0;
break;
}
return $n;
}`
aaron at mind-design dot co dot uk
21-Jul-2004 01:10
`Or for the terniary fans:
<?php
function roundaway($num) {
return(($num > 0) ? ceil($num) : floor($num));
}
?>
Slightly pointless, but there you have it, in one line only..`
rainfalling at yahoo dot com
22-Apr-2004 05:51
`IceKarma said: "If you want, say, 2.6 to round to 3, and -2.6 to round to -3, you want round(), which rounds away from zero."
That's not always true. round() doesn't work that way, like zomis2k said it just rounds up _or_ down to the nearest non-decimal number. However this should work.
<?php
function roundaway($num) {
if ($num > 0)
return ceil($num);
elseif ($num < 0)
return floor($num);
elseif ($num == 0)
return 0;
}
?>`
roger_dupere at hotmail dot com
10-Nov-2003 02:02
`Here is a navbar using the ceil function.
<?php
function navbar($num_rows,$page,$link) {
$nbrlink = 10; /* Number of link to display per page */
$page = (int) $page; /* Page now displayed */
$num_rows = (int) $num_rows;
if( $num_rows > 0 ) {
$total_page = ceil( $num_rows / $nbrlink );
for( $i=1;$i<$total_page+1;$i++ ) {
if( $i == $page ) {
$ret .= " <b>$i</b> ";
} else {
if( strstr( $link,"?" ) ) {
$ret .= " <a href=\"$link&page=$i\">$i</a> ";
} else {
$ret .= " <a href=\"$link?page=$i\">$i</a> ";
}
}
}
return $ret;
}
}
/* Let say that $num_rows content the numbre of rows of your sql query */
$navbar = navbar( $num_rows, $page, "listmovie.php?id=$id" );
if( $navbar != null || $navbar != "" ) {
print( "<p><div align=\"center\">$navbar</div></p>" );
}
?>`
zomis2k at hotmail dot com
22-May-2003 11:24
`>If you want, say, 2.6 to round to 3, and -2.6 to round to -3, you want round(), which rounds away from zero.
round() does not always round away from zero
round(2.4) = 2
round(2.6) = 3
round(-2.4) = -2
round(-2.6) = -3
round() rounds number to nearest non-decimal number.`
IceKarma
21-Apr-2003 05:31
`ceil() rounds towards positive infinity ("up"), floor() rounds towards negative infinity ("down").
If you want, say, 2.6 to round to 3, and -2.6 to round to -3, you want round(), which rounds away from zero.`
clx at deim dot net
11-Jun-2002 01:55
`<?php
echo ceil(2.6); // will output "3"
echo ceil(-2.6); // will output "-2"
?>`
add a note
cos bindec

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST