porcentaje numeros numero formato dar con php

php - numeros - Error grave: no se encontró la clase ''NumberFormatter''



formato#numero php (10)

He estado utilizando exactamente el mismo código durante años y nunca he tenido un solo problema. Ahora, de repente, ha dejado de funcionar.

He leído a través de Internet sobre este problema, y ​​al parecer necesita PHP 5.3 or higher instalado y el complemento de PHP intl instalado. Tengo ambos de estos, pero todavía recibo un Fatal error: Class ''NumberFormatter'' not found error cada vez que uso la siguiente función:

function format_item($value) { $format = new /NumberFormatter(''en_US'', /NumberFormatter::CURRENCY); return $format->formatCurrency($value, ''AUD''); }

Además, aquí hay un fragmento de mi archivo php.ini que muestra que tengo instalado el complemento PHP intl :

[intl] intl.default_locale = fr_FR ; This directive allows you to produce PHP errors when some error ; happens within intl functions. The value is the level of the error produced. ; Default is 0, which does not produce any errors. intl.error_level = E_WARNING

También tengo la extension=php_intl.dll en mi php.ini , y también está en mi directorio.

¿Por qué estoy recibiendo este error?


Agregue su directorio PHP en la variable de entorno Path. (C: / Archivos de programa / wamp / bin / php / phpX.XXX.XXX para wamp)

¡Esto ha funcionado para mí!


El cambio en las extensiones de php no me funcionó, así que actualicé mi versión de php 5.6.25 a 7.0.10 y funcionó


Esto parece ser un problema realmente extraño, y de alguna manera lo arreglé haciendo lo siguiente:

Actualicé mi PHP en Wamp a través de this tutorial. También actualicé mi zona horaria en php.ini Cuando actualicé no funcionó, así que volví a mi versión anterior de PHP y voilà, funcionó.

No tengo la menor idea de cómo esto resolvió el problema, sin embargo funcionó para mí.


Estoy ejecutando en ubuntu-16.04 y estoy usando php7, tuve el mismo problema, es debido a la extensión php_intl

la forma en que lo arreglé

  • Primero verifique que la extensión esté instalada o no en su servidor, use el siguiente comando para verificarlo

    php -m | grep intl

  • Si no hay resultados, debes instalarlo.

  • Si no está instalado, instalémoslo.

    sudo apt-get update sudo apt-get install php-intl

  • Finalmente necesita reiniciar su servidor web después de instalar

Error de clase ''NumberFormatter'' no encontrado en un programa PHP simple

https://www.howtoinstall.co/en/ubuntu/xenial/php-intl


Estoy usando la versión PHP 5.5 y obtuve el mismo error en Ubuntu Machine. He instalado el paquete php5-Intl y reinicié mi servidor apache. Esto resolvió el problema.

Para PHP5

sudo apt-get install php5-intl

Para PHP7

sudo apt-get install php7.0-intl

Para Mac OS X, use el siguiente comando para PHP5.6

brew install php56-intl

Para diferentes sistemas operativos, visite esta página: http://php.net/manual/en/intl.installation.php

Para verificar la correcta instalación, ejecute el comando php -m. Esto debería mostrar el paquete intl en la lista.

Si está utilizando XAMPP en Mac OS X, php-intl a veces creará problemas diferentes. Puedes seguir los pasos de depuración mencionados here

Si está enfrentando No se puede cargar la biblioteca dinámica ''/usr/lib/php/extensions/no-debug-non-zts-20121212/intl.so'' error, siga los pasos que se mencionan here


Podría hacer lo siguiente y funcionará perfectamente.

$numbers = 123456789; $toThousands = number_format($numbers);

los resultados serán: 123,456,789, la función "number_format" ya está integrada en la función.



Solo necesita habilitar esta extensión en php.ini descomentando esta línea: extension = ext / php_intl.dll

Para más detalles visite, Habilitar extensión intl.


Todo lo que necesitas es:

apt-get install php7.0-intl

No hay necesidad de cambiar php.ini o hacer nada más. (Probado en PHP 7 en Ubuntu 16.04).

¡La respuesta más votada aquí lo tiene sin comentar un .dll que nunca resolverá nada a menos que esté en un servidor de Windows!


anticuado

En Max OS X con PHP instalado con Homebrew , podemos:

Podemos comprobar si el módulo intl instalado:

$ php -m

Podemos consultar la información del módulo:

$ brew info php72-intl

E instálalo con:

$ brew install php72-intl