| @@ 391-405 (lines=15) @@ | ||
| 388 | * @param int $precision |
|
| 389 | * @return string |
|
| 390 | */ |
|
| 391 | public static function roundDown($number, $precision = 0) |
|
| 392 | {
|
|
| 393 | $number = self::convertScientificNotationToString($number); |
|
| 394 | $multiply = self::pow(10, (string)abs($precision)); |
|
| 395 | ||
| 396 | return $precision < 0 ? |
|
| 397 | self::mul( |
|
| 398 | self::floor(self::div($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 399 | $precision |
|
| 400 | ) : |
|
| 401 | self::div( |
|
| 402 | self::floor(self::mul($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 403 | $precision |
|
| 404 | ); |
|
| 405 | } |
|
| 406 | ||
| 407 | /** |
|
| 408 | * @param int|string $number |
|
| @@ 439-453 (lines=15) @@ | ||
| 436 | * @param int $precision |
|
| 437 | * @return string |
|
| 438 | */ |
|
| 439 | public static function roundUp($number, $precision = 0) |
|
| 440 | {
|
|
| 441 | $number = self::convertScientificNotationToString($number); |
|
| 442 | $multiply = self::pow(10, (string)abs($precision)); |
|
| 443 | ||
| 444 | return $precision < 0 ? |
|
| 445 | self::mul( |
|
| 446 | self::ceil(self::div($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 447 | $precision |
|
| 448 | ) : |
|
| 449 | self::div( |
|
| 450 | self::ceil(self::mul($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 451 | $precision |
|
| 452 | ); |
|
| 453 | } |
|
| 454 | ||
| 455 | /** |
|
| 456 | * @param int|string $number |
|