|
 |
ceil (PHP 3, PHP 4, PHP 5) ceil -- Округляет дробь в большую сторону Описаниеfloat ceil ( float value )
Возвращает ближайшее большее целое от value. Тип возвращаемого значения остаётся float т.к. диапазон float больше integer.
Пример 1. Пример функции ceil()
<?php
echo ceil(4.3); echo ceil(9.999); echo ceil(3.0); ?>
|
|
См. также floor() и
round().
ceil
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"); ceil("001"); ceil("0.1"); ceil("a34"); ceil("2fg"); ceil("$%%"); ?>
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
function round_up ($value, $places=0) {
if ($places < 0) { $places = 0; }
$mult = pow(10, $places);
return ceil($value * $mult) / $mult;
}
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); echo round_up (-0.453001, 4); echo round_out (56.77001, 2); echo round_out (-0.453001, 4); ?>
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; $page = (int) $page; $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;
}
}
$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.
| |