|
@@ 258-265 (lines=8) @@
|
| 255 |
|
* @param int $precision
|
| 256 |
|
* @return string
|
| 257 |
|
*/
|
| 258 |
|
public static function roundDown($number, $precision = 0)
|
| 259 |
|
{
|
| 260 |
|
$number = (string)self::convertScientificNotationToString($number);
|
| 261 |
|
$multiply = self::pow(10, (string)abs($precision));
|
| 262 |
|
return $precision < 0 ?
|
| 263 |
|
self::mul(self::floor(self::div($number, $multiply)), $multiply, $precision) :
|
| 264 |
|
self::div(self::floor(self::mul($number, $multiply)), $multiply, $precision);
|
| 265 |
|
}
|
| 266 |
|
|
| 267 |
|
/**
|
| 268 |
|
* @param int|string $number
|
|
@@ 299-306 (lines=8) @@
|
| 296 |
|
* @param int $precision
|
| 297 |
|
* @return string
|
| 298 |
|
*/
|
| 299 |
|
public static function roundUp($number, $precision = 0)
|
| 300 |
|
{
|
| 301 |
|
$number = (string)self::convertScientificNotationToString($number);
|
| 302 |
|
$multiply = self::pow(10, (string)abs($precision));
|
| 303 |
|
return $precision < 0 ?
|
| 304 |
|
self::mul(self::ceil(self::div($number, $multiply)), $multiply, $precision) :
|
| 305 |
|
self::div(self::ceil(self::mul($number, $multiply)), $multiply, $precision);
|
| 306 |
|
}
|
| 307 |
|
|
| 308 |
|
/**
|
| 309 |
|
* @param int|string $number
|