NumberFormatter::create

numfmt_create

NumberFormatter::__construct

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

NumberFormatter::create -- numfmt_create -- NumberFormatter::__constructCrea un formateador de números

Descripción

Estilo orientado a objetos (método)

public static NumberFormatter::create(string $locale, int $style, ?string $pattern = null): ?NumberFormatter

Estilo por procedimientos

numfmt_create(string $locale, int $style, ?string $pattern = null): ?NumberFormatter

Estilo orientado a objetos (constructor)

public NumberFormatter::__construct(string $locale, int $style, ?string $pattern = null)

Crea un formateador de números

Parámetros

locale

La configuración local con la cual los números serán formateados (i.e. en_CA).

style

El estilo de formato, una de las constantes de estilo de formato. Si NumberFormatter::PATTERN_DECIMAL o NumberFormatter::PATTERN_RULEBASED es utilizado entonces el formato de número es abierto con el patrón proporcionado, que debe ser compatible con la sintaxis descrita por la » documentación ICU DecimalFormat o » documentación ICU RuleBasedNumberFormat, respectivamente.

pattern

La cadena de patrón, en función del estilo de formato elegido.

Valores devueltos

Devuelve un objeto NumberFormatter o null en caso de error.

Errores/Excepciones

Se levanta una ValueError si locale es inválido.

Historial de cambios

Versión Descripción
8.4.0 Se levanta una ValueError si locale es inválido.
8.0.0 pattern ahora es nullable.

Ejemplos

Ejemplo #1 Ejemplo con numfmt_create::create(), Estilo por procedimientos

<?php
$fmt
= numfmt_create( 'de_DE', NumberFormatter::DECIMAL );
echo
numfmt_format($fmt, 1234567.891234567890000)."\n";
$fmt = numfmt_create( 'it', NumberFormatter::SPELLOUT );
echo
numfmt_format($fmt, 1142)."\n";
?>

Ejemplo #2 Ejemplo con numfmt_create::create(), estilo POO

<?php
$fmt
= new NumberFormatter( 'de_DE', NumberFormatter::DECIMAL );
echo
$fmt->format(1234567.891234567890000)."\n";
$fmt = new NumberFormatter( 'it', NumberFormatter::SPELLOUT );
echo
$fmt->format(1142)."\n";
?>

El resultado del ejemplo sería:

1.234.567,891
millicentoquarantadue

Ver también