2012-05-23 26 views
10

¿Por qué se produce este error?Error fatal en la función money_format

código:

setlocale(LC_MONETARY, "en_US"); 
$pricetotal = money_format("%10.2n", $pricetotal); 

detalles del servidor.

Apache Version : 2.2.21 
PHP Version : 5.3.8 

que estoy recibiendo el siguiente error

Fatal error: Call to undefined function money_format() 
+0

tiene usted cualquier otro código? eso debería funcionar; La única razón que podría sugerir en este cruce es que se encuentra dentro de un espacio de nombres ... –

+3

posible duplicado de [Cómo podemos usar la función money_format() en php en la plataforma de Windows.?](http://stackoverflow.com/questions/6369887/how-we-can-use-money-format-function-in-php-on-windows-platform) – deceze

+0

Aquí están las soluciones .. Funcionó .http: //www.php.net/manual/es /function.money-format.php#89060 – Parthi04

Respuesta

15

Desde el manual:

La función money_format() sólo se define si el sistema tiene strfmon capacidades. Por ejemplo, Windows no, por lo que money_format() es undefined en Windows.

money_format() es básicamente una envoltura alrededor de la función de biblioteca C strfmon() como los estados manuales.

Si revisa los comentarios, hay an implementation by Rafael M. Salvioni. Vale la pena intentarlo. Puede verificar si ya está definido usando function_exists().

Las respuestas a this StackOverflow question ofrecen alternativas adicionales (y posiblemente mejores) (thx danielson317).

+0

Acabo de agregar la función hay una implementación de Rafael M. Salvioni a mi web, entonces es obras. +1 para los enlaces – bungdito

+0

Esa función no funciona para mí. Tengo gravedad: advertencia Mensaje: implode(): argumentos inválidos pasaron – CMCDragonkai

+1

el módulo intl mencionado en http://stackoverflow.com/questions/6369887/how-we-can-use-money-format-function-in- php-on-windows-platform es una solución mucho mejor. Aún +1 por ser una respuesta válida. – danielson317

1

Tal vez esto?

Nota:

La función money_format() sólo se define si el sistema tiene strfmon capacidades. Por ejemplo, Windows no, por lo que money_format() no está definido en Windows.

http://php.net/money_format

+0

hay alguna solución para la ventana? – Parthi04

+1

http://stackoverflow.com/questions/6369887/how-we-can-use-money-format-function-in-php-on-windows-platform – deceze

4

Para aquellos que money_format no funciona, puede utilizar:

$price = number_format($price, 2); echo “$”.$price; 
+0

Gracias. Esto me ayudó en Windows! +1 upvoted – Tchaps

Cuestiones relacionadas