NumberLocalizer
in package
Formats and parses localized integer representations.
Implementations provide language-specific number words. The base class handles digit padding and parsing normalized Latin digits.
Tags
Table of Contents
Properties
- $textNormalizer : TextNormalizer
- Text normalizer applied before parsing numbers.
Methods
- __construct() : mixed
- Creates a number localizer.
- formatCardinal() : string
- Formats an integer as localized cardinal words.
- formatDigits() : string
- Formats an integer using Latin digits.
- formatOrdinal() : string
- Formats a non-zero integer as localized ordinal words.
- parse() : NumberParseResult
- Parses an integer from localized digits or words.
- parseCardinal() : int|null
- Parses an integer from localized cardinal words.
- parseDigits() : int|null
- Parses an integer from Latin digits.
- parseOrdinal() : int|null
- Parses an integer from localized ordinal words.
- parseWords() : NumberParseResult
- Parses an integer from localized cardinal or ordinal words.
Properties
$textNormalizer read-only
Text normalizer applied before parsing numbers.
protected
TextNormalizer
$textNormalizer
Methods
__construct()
Creates a number localizer.
public
__construct(TextNormalizer $textNormalizer) : mixed
Parameters
- $textNormalizer : TextNormalizer
-
Text normalizer applied before parsing.
formatCardinal()
Formats an integer as localized cardinal words.
public
abstract formatCardinal(int $value) : string
Parameters
- $value : int
-
Integer value to format.
Tags
Return values
string —Localized cardinal word representation.
formatDigits()
Formats an integer using Latin digits.
public
formatDigits(int $value[, int $minimumDigits = 1 ]) : string
Parameters
- $value : int
-
Integer value to format.
- $minimumDigits : int = 1
-
Minimum digit width excluding the sign.
Tags
Return values
string —Latin digit representation.
formatOrdinal()
Formats a non-zero integer as localized ordinal words.
public
abstract formatOrdinal(int $value) : string
Positive values are counted from the start (first, second, ...) and negative values are counted from the end (..., second-to-last, last) of a sequence.
Zero is not a valid ordinal value.
Parameters
- $value : int
-
Non-zero integer value to format.
Tags
Return values
string —Localized ordinal word representation.
parse()
Parses an integer from localized digits or words.
public
parse(string $text) : NumberParseResult
Digit parsing is tried before word parsing.
Parameters
- $text : string
-
Number representation to parse.
Tags
Return values
NumberParseResult —Parse result.
parseCardinal()
Parses an integer from localized cardinal words.
public
parseCardinal(string $text) : int|null
Parameters
- $text : string
-
Cardinal words to parse.
Tags
Return values
int|null —Parsed integer, or null when invalid or not cardinal.
parseDigits()
Parses an integer from Latin digits.
public
parseDigits(string $text) : int|null
Parameters
- $text : string
-
Digit representation to parse.
Tags
Return values
int|null —Parsed integer, or null when invalid.
parseOrdinal()
Parses an integer from localized ordinal words.
public
parseOrdinal(string $text) : int|null
Parameters
- $text : string
-
Ordinal words to parse.
Tags
Return values
int|null —Parsed integer, or null when invalid or not ordinal.
parseWords()
Parses an integer from localized cardinal or ordinal words.
public
abstract parseWords(string $text) : NumberParseResult
Parameters
- $text : string
-
Number words to parse.
Tags
Return values
NumberParseResult —Parse result.