| @@ 402-416 (lines=15) @@ | ||
| 399 | * @param int $precision |
|
| 400 | * @return string |
|
| 401 | */ |
|
| 402 | public static function roundDown($number, $precision = 0) |
|
| 403 | {
|
|
| 404 | $number = self::convertScientificNotationToString($number); |
|
| 405 | $multiply = self::pow(10, (string)abs($precision)); |
|
| 406 | ||
| 407 | return $precision < 0 |
|
| 408 | ? |
|
| 409 | self::mul( |
|
| 410 | self::floor(self::div($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 411 | $precision |
|
| 412 | ) |
|
| 413 | : |
|
| 414 | self::div( |
|
| 415 | self::floor(self::mul($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 416 | $precision |
|
| 417 | ); |
|
| 418 | } |
|
| 419 | ||
| @@ 452-466 (lines=15) @@ | ||
| 449 | * @param int $precision |
|
| 450 | * @return string |
|
| 451 | */ |
|
| 452 | public static function roundUp($number, $precision = 0) |
|
| 453 | {
|
|
| 454 | $number = self::convertScientificNotationToString($number); |
|
| 455 | $multiply = self::pow(10, (string)abs($precision)); |
|
| 456 | ||
| 457 | return $precision < 0 |
|
| 458 | ? |
|
| 459 | self::mul( |
|
| 460 | self::ceil(self::div($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 461 | $precision |
|
| 462 | ) |
|
| 463 | : |
|
| 464 | self::div( |
|
| 465 | self::ceil(self::mul($number, $multiply, self::getDecimalsLengthFromNumber($number))), $multiply, |
|
| 466 | $precision |
|
| 467 | ); |
|
| 468 | } |
|
| 469 | ||