diff --git a/src/BigNumber.php b/src/BigNumber.php index f623c6f..5a0df78 100644 --- a/src/BigNumber.php +++ b/src/BigNumber.php @@ -38,6 +38,7 @@ abstract class BigNumber implements \JsonSerializable '\/?' . '(?[0-9]+)' . '$/'; + /** * Creates a BigNumber of the given value. * @@ -139,7 +140,7 @@ private static function _of(BigNumber|int|float|string $value) : BigNumber throw new NumberFormatException('Exponent too large.'); } - $unscaledValue = self::cleanUp(($sign ?? ''), $integral . $fractional); + $unscaledValue = self::cleanUp($sign, $integral . $fractional); $scale = \strlen($fractional) - $exponent; @@ -153,7 +154,7 @@ private static function _of(BigNumber|int|float|string $value) : BigNumber return new BigDecimal($unscaledValue, $scale); } - $integral = self::cleanUp(($sign ?? ''), $integral); + $integral = self::cleanUp($sign, $integral); return new BigInteger($integral); } @@ -324,10 +325,11 @@ private static function add(BigNumber $a, BigNumber $b) : BigNumber } /** - * Removes optional leading zeros and applies sign if needed(- for negatives). + * Removes optional leading zeros and applies sign. + * + * @param string|null $sign The sign, '+' or '-', optional. Null is allowed for convenience and treated as '+'. + * @param string $number The number, validated as a non-empty string of digits. * - * @param string|null $sign The sign, '+' or '-', optional. - * @param string $number The number, validated as a non-empty string of digits. * @psalm-pure */ private static function cleanUp(string|null $sign, string $number) : string