NumberFormatter::format

numfmt_format

Format a number

Description

Object-oriented style

public stringfalse NumberFormatter::format(intfloat $num, int $type = NumberFormatter::TYPE_DEFAULT)

Procedural style

stringfalse numfmt_format(NumberFormatter $formatter, intfloat $num, int $type = NumberFormatter::TYPE_DEFAULT)

Format a numeric value according to the formatter rules.

Parameters

formatter

NumberFormatter object.

num

The value to format. Can be int or float, other values will be converted to a numeric value.

type

The formatting type to use. Note that NumberFormatter::TYPE_CURRENCY is not supported; use NumberFormatter::formatCurrency instead.

Return Values

Returns the string containing formatted value, or false on error.

Examples

Example #1 numfmt_format example

<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
    report_error("Formatter error");
}
?>

Example #2 OO example

<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
    report_error("Formatter error");
}
?>

The above example will output:

1.234.567,891

Notes

Note:

Formats achievable by this method of formatting cannot fully use the possibilities of underlying ICU library, such as to format currency with narrow currency symbol.

To fully utilize them use msgfmt_format_message.

See Also

  • numfmt_get_error_code
  • numfmt_format_currency
  • numfmt_parse
  • msgfmt_format_message