note 99063 deleted from function.floor by danbrown
| From: | danbrown@php.net | Date: | Mon, 26 Jul 2010 14:39:07 +0000 |
| Subject: | note 99063 deleted from function.floor by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-171137@lists.php.net to get a copy of this message | ||
Note Submitter: coelhoduda at hotmail dot com
Reason: non-english
----
Uma função similar a floor é esa que criei, para que se possa entender a lógica
aplicada. só que na minha função retorna um tipo inteiro e na floor retorna um tipo float.
<?php
function roundDown($x){
if(is_numeric($x)){
$r = explode(".",$x);
$r[0] = (int)($r[0]);
if($r[0] < 0){
if(count($r) == 2){
if($r[1] > 0){
$result = --$r[0];
}else{
$result = $r[0];
}
}
if(count($r) == 1){
$result = $r[0];
}
}
if($r[0] > 0){
if((count($r) == 2)or(count($r) == 1)){
$result = $r[0];
}
}
}else{
$result = $x;
}
return $result;
}
echo var_dump(roundDown(27.02354)); // int(27)
echo "<br>";
echo var_dump(floor(27.02354)); // float(27)
echo "<hr>";
echo var_dump(roundDown(-27.02354)); // int(-28)
echo "<br>";
echo var_dump(floor(-27.02354)); // float(-28)
?>