diff options
Diffstat (limited to 'vendor/brick/math/src/Exception/NumberFormatException.php')
-rw-r--r-- | vendor/brick/math/src/Exception/NumberFormatException.php | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/vendor/brick/math/src/Exception/NumberFormatException.php b/vendor/brick/math/src/Exception/NumberFormatException.php new file mode 100644 index 000000000..2fd0be73a --- /dev/null +++ b/vendor/brick/math/src/Exception/NumberFormatException.php @@ -0,0 +1,35 @@ +<?php + +declare(strict_types=1); + +namespace Brick\Math\Exception; + +/** + * Exception thrown when attempting to create a number from a string with an invalid format. + */ +class NumberFormatException extends MathException +{ + /** + * @param string $char The failing character. + * + * @return NumberFormatException + * + * @psalm-pure + */ + public static function charNotInAlphabet(string $char) : self + { + $ord = \ord($char); + + if ($ord < 32 || $ord > 126) { + $char = \strtoupper(\dechex($ord)); + + if ($ord < 10) { + $char = '0' . $char; + } + } else { + $char = '"' . $char . '"'; + } + + return new self(sprintf('Char %s is not a valid character in the given alphabet.', $char)); + } +} |