on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)
NumberFormatter::format -- numfmt_format — Formata um número
Estilo orientado a objetos
$num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseEstilo procedural
$formatter
, int|float $num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseFormata um valor numérico de acordo com as regras de formatação.
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.
Retorna a string contendo o valor formatado, ou false
em caso de erro.
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
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().
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.