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