PHP Conference Nagoya 2025

NumberFormatter::format

numfmt_format

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

NumberFormatter::format -- numfmt_formatFormata um número

Descrição

Estilo orientado a objetos

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

Estilo procedural

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

Formata um valor numérico de acordo com as regras de formatação.

Parâmetros

formatter

Objeto NumberFormatter.

num

O valor a formatar. Pode ser int ou float, outros tipos serão convertidos para valores numéricos.

type

O tipo de formatação a ser usado. Observe que NumberFormatter::TYPE_CURRENCY não é suportado; use NumberFormatter::formatCurrency() em seu lugar.

Valor Retornado

Retorna a string contendo o valor formatado, ou false em caso de erro.

Exemplos

Exemplo #1 Exemplo de numfmt_format()

<?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");
}
?>

Exemplo #2 Exemplo OO

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

O exemplo acima produzirá:

1.234.567,891

Notas

Nota:

Formatos possíveis por este método não usam todas as possibilidades da biblioteca ICU subjacente, como por exemplo usar o símbolo da moeda em sua forma curta ou abreviada.

Para usar todas as possibilidades, use a função msgfmt_format_message().

Veja Também

adicione uma nota

Notas Enviadas por Usuários (em inglês) 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