freenetis-github/application/helpers/num.php @ 9fa32194
8baed187 | Michal Kliment | <?php defined('SYSPATH') or die('No direct script access.');
|
|
/**
|
|||
* Number helper class.
|
|||
*
|
|||
* $Id: num.php 1710 2008-01-14 01:12:01Z PugFish $
|
|||
*
|
|||
* @package Number Helper
|
|||
* @author Kohana Team
|
|||
* @copyright (c) 2007-2008 Kohana Team
|
|||
* @license http://kohanaphp.com/license.html
|
|||
*/
|
|||
class num {
|
|||
/**
|
|||
* Round a number to the nearest nth
|
|||
*
|
|||
* @param integer number to round
|
|||
* @param integer number to round to
|
|||
* @return integer
|
|||
*/
|
|||
public static function round($number, $nearest = 5)
|
|||
{
|
|||
return round($number / $nearest) * $nearest;
|
|||
}
|
|||
/**
|
|||
* @author Michal Kliment
|
|||
* Fill number with nulls (on start)
|
|||
* @param int $number
|
|||
* @param int $position
|
|||
* @return string
|
|||
*/
|
|||
public static function null_fill($number, $position)
|
|||
{
|
|||
$len = strlen($number);
|
|||
$null_str = '';
|
|||
for ($i=0;$i<($position-$len);$i++)
|
|||
$null_str .= '0';
|
|||
return $null_str.$number;
|
|||
}
|
|||
/**
|
|||
* Negates number to opposite number / Negates number to given number
|
|||
* Negates all number / Negates only numbers for given level and operand
|
|||
*
|
|||
* @author Michal Kliment
|
|||
* @param integer $number
|
|||
* @param integer $to_number
|
|||
* @param integer $level
|
|||
* @param integer $op
|
|||
* @return integer
|
|||
*/
|
|||
public static function negation($number, $to_number = NULL, $level = NULL, $op = 1)
|
|||
{
|
|||
// number in which it will negate
|
|||
$to_number = ($to_number) ? $to_number : $number*(-1);
|
|||
// level is given
|
|||
if ($level !== NULL)
|
|||
{
|
|||
switch ($op)
|
|||
{
|
|||
// >
|
|||
case 1:
|
|||
return ($number > $level) ? $to_number : $number;
|
|||
break;
|
|||
// <
|
|||
case -1:
|
|||
return ($number < $level) ? $to_number : $number;
|
|||
break;
|
|||
// =
|
|||
case 0:
|
|||
return ($number == $level) ? $to_number : $number;
|
|||
break;
|
|||
// for all other
|
|||
default:
|
|||
return $to_number;
|
|||
break;
|
|||
}
|
|||
}
|
|||
else
|
|||
// level is not given
|
|||
return $to_number;
|
|||
}
|
|||
/**
|
|||
* @author Michal Kliment
|
|||
* Replace decimal comma with decimal point
|
|||
* @param int $number
|
|||
* @return string
|
|||
*/
|
|||
public static function decimal_point($number)
|
|||
{
|
|||
return str_replace(',', '.', $number);
|
|||
}
|
|||
}
|