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 — Formatea un número
Estilo orientado a objetos
$num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseEstilo procedimental
$formatter
, int|float $num
, int $type
= NumberFormatter::TYPE_DEFAULT): string|falseFormatea un valor numérico, según las reglas del formateador.
formatter
El objeto NumberFormatter.
num
El valor a formatear. Puede ser un int o un float. Otros valores serán convertidos a valor numérico antes del formateo.
type
El tipo de formato.
Tenga en cuenta que NumberFormatter::TYPE_CURRENCY
no es soportado;
utilice NumberFormatter::formatCurrency() en su lugar.
Devuelve la cadena que contiene el valor formateado, o false
en caso de error.
Ejemplo #1 Ejemplo con numfmt_format(), Estilo procedimental
<?php
$fmt = numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
$data = numfmt_format($fmt, 1234567.891234567890000);
if(intl_is_failure(numfmt_format($fmt))) {
report_error("Error de formateador");
}
?>
Ejemplo #2 Ejemplo con numfmt_format(), estilo POO
<?php
$fmt = new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
$fmt->format(1234567.891234567890000);
if(intl_is_failure($fmt->getErrorCode())) {
report_error("Error de formateador");
}
?>
El ejemplo anterior mostrará :
1.234.567,891
Nota:
Los formatos realizables por este método de formateo no pueden utilizar plenamente las posibilidades de la biblioteca ICU subyacente, como por ejemplo el formateo de moneda con un símbolo monetario corto.
Para utilizarlas plenamente, utilice msgfmt_format_message().
on Linux you may need to install icu-data-full package for NumberFormatter to work properly with non-english locales.