Dutch PHP Conference 2025 - Call For Papers

NumberFormatter::format

numfmt_format

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

NumberFormatter::format -- numfmt_formatFormat a number

Опис

Об'єктно-орієнтований стиль

public NumberFormatter::format(int|float $num, int $type = NumberFormatter::TYPE_DEFAULT): string|false

Процедурний стиль

numfmt_format(NumberFormatter $formatter, int|float $num, int $type = NumberFormatter::TYPE_DEFAULT): string|false

Format a numeric value according to the formatter rules.

Параметри

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.

Значення, що повертаються

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

Приклади

Приклад #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");
}
?>

Приклад #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");
}
?>

Поданий вище приклад виведе:

1.234.567,891

Примітки

Зауваження:

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().

Прогляньте також

add a note

User Contributed Notes 1 note

up
1
mrSplendid
1 year ago
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.
To Top