Subversion-Projekte lars-tiefland.laravel_shop

Revision

Zur aktuellen Revision | Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
declare(strict_types=1);
4
 
5
namespace Brick\Math\Exception;
6
 
7
/**
8
 * Exception thrown when attempting to create a number from a string with an invalid format.
9
 */
10
class NumberFormatException extends MathException
11
{
12
    /**
13
     * @param string $char The failing character.
14
     *
15
     * @return NumberFormatException
16
     *
17
     * @psalm-pure
18
     */
19
    public static function charNotInAlphabet(string $char) : self
20
    {
21
        $ord = \ord($char);
22
 
23
        if ($ord < 32 || $ord > 126) {
24
            $char = \strtoupper(\dechex($ord));
25
 
26
            if ($ord < 10) {
27
                $char = '0' . $char;
28
            }
29
        } else {
30
            $char = '"' . $char . '"';
31
        }
32
 
33
        return new self(sprintf('Char %s is not a valid character in the given alphabet.', $char));
34
    }
35
}