|
@@ 282-289 (lines=8) @@
|
| 279 |
|
* @param int $precision
|
| 280 |
|
* @return string
|
| 281 |
|
*/
|
| 282 |
|
public static function roundDown($number, $precision = 0)
|
| 283 |
|
{
|
| 284 |
|
$number = (string)self::convertScientificNotationToString($number);
|
| 285 |
|
$multiply = self::pow(10, (string)abs($precision));
|
| 286 |
|
return $precision < 0 ?
|
| 287 |
|
self::mul(self::floor(self::div($number, $multiply)), $multiply, $precision) :
|
| 288 |
|
self::div(self::floor(self::mul($number, $multiply)), $multiply, $precision);
|
| 289 |
|
}
|
| 290 |
|
|
| 291 |
|
/**
|
| 292 |
|
* @param int|string $number
|
|
@@ 323-330 (lines=8) @@
|
| 320 |
|
* @param int $precision
|
| 321 |
|
* @return string
|
| 322 |
|
*/
|
| 323 |
|
public static function roundUp($number, $precision = 0)
|
| 324 |
|
{
|
| 325 |
|
$number = (string)self::convertScientificNotationToString($number);
|
| 326 |
|
$multiply = self::pow(10, (string)abs($precision));
|
| 327 |
|
return $precision < 0 ?
|
| 328 |
|
self::mul(self::ceil(self::div($number, $multiply)), $multiply, $precision) :
|
| 329 |
|
self::div(self::ceil(self::mul($number, $multiply)), $multiply, $precision);
|
| 330 |
|
}
|
| 331 |
|
|
| 332 |
|
/**
|
| 333 |
|
* @param int|string $number
|