Class Number
Number helper library.
Methods to make numbers more readable.
Constants
Property Summary
-
$_defaultCurrency protected static
stringDefault currency used by Number::currency()
-
$_formatters protected static
arrayA list of number formatters indexed by locale and type
Method Summary
-
_setAttributes() protected static
Set formatter attributes
-
config() public static
Configure formatters.
-
currency() public static
Formats a number into a currency format.
-
defaultCurrency() public static
Getter/setter for default currency
-
format() public static
Formats a number into the correct locale format
-
formatDelta() public static
Formats a number into the correct locale format to show deltas (signed differences in value).
-
formatter() public static
Returns a formatter object that can be reused for similar formatting task under the same locale and options. This is often a speedier alternative to using other methods in this class as only one formatter object needs to be constructed.
-
ordinal() public static
Returns a formatted integer as an ordinal number string (e.g. 1st, 2nd, 3rd, 4th, [...])
-
parseFloat() public static
Parse a localized numeric string and transform it in a float point
-
precision() public static
Formats a number with a level of precision.
-
toPercentage() public static
Formats a number into a percentage string.
-
toReadableSize() public static
Returns a formatted-for-humans file size.
Method Detail
_setAttributes() ¶ protected static
_setAttributes(NumberFormatter $formatter, array $options = []): NumberFormatter
Set formatter attributes
Parameters
-
NumberFormatter$formatter Number formatter instance.
-
array$options optional See Number::formatter() for possible options.
Returns
NumberFormatterconfig() ¶ public static
config(string $locale, int $type = NumberFormatter::DECIMAL, array $options = []): void
Configure formatters.
Parameters
-
string$locale The locale name to use for formatting the number, e.g. fr_FR
-
int$type optional The formatter type to construct. Defaults to NumberFormatter::DECIMAL.
-
array$options optional See Number::formatter() for possible options.
Returns
voidcurrency() ¶ public static
currency(float $value, string|null $currency = null, array $options = []): string
Formats a number into a currency format.
Options
locale- The locale name to use for formatting the number, e.g. fr_FRfractionSymbol- The currency symbol to use for fractional numbers.fractionPosition- The position the fraction symbol should be placed valid options are 'before' & 'after'.before- Text to display before the rendered numberafter- Text to display after the rendered numberzero- The text to use for zero values, can be a string or a number. e.g. 0, 'Free!'places- Number of decimal places to use. e.g. 2precision- Maximum Number of decimal places to use, e.g. 2pattern- An ICU number pattern to use for formatting the number. e.g #,###.00useIntlCode- Whether or not to replace the currency symbol with the international currency code.
Parameters
-
float$value Value to format.
-
string|null$currency optional International currency name such as 'USD', 'EUR', 'JPY', 'CAD'
-
array$options optional Options list.
Returns
stringNumber formatted as a currency.
defaultCurrency() ¶ public static
defaultCurrency(string|bool|null $currency = null): string
Getter/setter for default currency
Parameters
-
string|bool|null$currency optional Default currency string to be used by currency() if $currency argument is not provided. If boolean false is passed, it will clear the currently stored value
Returns
stringCurrency
format() ¶ public static
format(float $value, array $options = []): string
Formats a number into the correct locale format
Options:
places- Minimum number or decimals to use, e.g 0precision- Maximum Number of decimal places to use, e.g. 2pattern- An ICU number pattern to use for formatting the number. e.g #,###.00locale- The locale name to use for formatting the number, e.g. fr_FRbefore- The string to place before whole numbers, e.g. '['after- The string to place after decimal numbers, e.g. ']'
Parameters
-
float$value A floating point number.
-
array$options optional An array with options.
Returns
stringFormatted number
formatDelta() ¶ public static
formatDelta(float $value, array $options = []): string
Formats a number into the correct locale format to show deltas (signed differences in value).
Options
places- Minimum number or decimals to use, e.g 0precision- Maximum Number of decimal places to use, e.g. 2locale- The locale name to use for formatting the number, e.g. fr_FRbefore- The string to place before whole numbers, e.g. '['after- The string to place after decimal numbers, e.g. ']'
Parameters
-
float$value A floating point number
-
array$options optional Options list.
Returns
stringformatted delta
formatter() ¶ public static
formatter(array $options = []): NumberFormatter
Returns a formatter object that can be reused for similar formatting task under the same locale and options. This is often a speedier alternative to using other methods in this class as only one formatter object needs to be constructed.
Options
locale- The locale name to use for formatting the number, e.g. fr_FRtype- The formatter type to construct, set it tocurrencyif you need to format numbers representing money or a NumberFormatter constant.places- Number of decimal places to use. e.g. 2precision- Maximum Number of decimal places to use, e.g. 2pattern- An ICU number pattern to use for formatting the number. e.g #,###.00useIntlCode- Whether or not to replace the currency symbol with the international currency code.
Parameters
-
array$options optional An array with options.
Returns
NumberFormatterThe configured formatter instance
ordinal() ¶ public static
ordinal(int|float $value, array $options = []): string
Returns a formatted integer as an ordinal number string (e.g. 1st, 2nd, 3rd, 4th, [...])
Options
type- The formatter type to construct, set it tocurrencyif you need to format numbers representing money or a NumberFormatter constant.
For all other options see formatter().
Parameters
-
int|float$value An integer
-
array$options optional An array with options.
Returns
stringparseFloat() ¶ public static
parseFloat(string $value, array $options = []): float
Parse a localized numeric string and transform it in a float point
Options:
locale- The locale name to use for parsing the number, e.g. fr_FRtype- The formatter type to construct, set it tocurrencyif you need to parse numbers representing money.
Parameters
-
string$value A numeric string.
-
array$options optional An array with options.
Returns
floatpoint number
precision() ¶ public static
precision(float $value, int $precision = 3, array $options = []): string
Formats a number with a level of precision.
Options:
locale: The locale name to use for formatting the number, e.g. fr_FR
Parameters
-
float$value A floating point number.
-
int$precision optional The precision of the returned number.
-
array$options optional Additional options
Returns
stringFormatted float.
Links
toPercentage() ¶ public static
toPercentage(float $value, int $precision = 2, array $options = []): string
Formats a number into a percentage string.
Options:
multiply: Multiply the input value by 100 for decimal percentages.locale: The locale name to use for formatting the number, e.g. fr_FR
Parameters
-
float$value A floating point number
-
int$precision optional The precision of the returned number
-
array$options optional Options
Returns
stringPercentage string
Links
toReadableSize() ¶ public static
toReadableSize(int $size): string
Returns a formatted-for-humans file size.
Parameters
-
int$size Size in bytes
Returns
stringHuman readable size