Zend FR

Consultez la FAQ sur le ZF avant de poster une question

Vous n'êtes pas identifié.

#1 15-12-2009 12:01:13

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Probleme de décimale avec Zend_Currency

Bonjour,

Je suis entrain de faire une aide de vue pour afficher le format de monnaie :

Code:

<?php

class Zend_View_Helper_Currency extends Zend_View_Helper_Abstract {
    public function currency($solde, $idaccount, $format = null) {
        $account = new Public_Models_Account;
        $account = $account->getElementById($idaccount);

        $currency = new Zend_Currency($account->currency);
        if (!is_null($format)) {
            $currency->setFormat(array('format' => $format));
        }
        return $currency->toCurrency($solde);
    }
}

?>

le troisième paramètre, me permet de definir le nombre de chiffre après la virgule comme dans le doc de Zend :

Code:

$currency->setFormat(array('format' => '##0.00'));

J'ai donc fais ceci :

Code:

$this->currency('1.6059', '1', '##0.00')

Mais j'ai cette erreur :

Code:

<br />
<b>Fatal error</b>:  Uncaught exception 'Zend_Currency_Exception' with message ''##0.00' is not a known locale.' in H:\wamp\www\trader\Core\Zend\Currency.php:573
Stack trace:
#0 H:\wamp\www\trader\Core\Zend\Currency.php(250): Zend_Currency-&gt;_checkOptions(Array)
#1 H:\wamp\www\trader\Core\View\Helper\Currency.php(10): Zend_Currency-&gt;setFormat(Array)
#2 [internal function]: Zend_View_Helper_Currency-&gt;currency('11', '79', '##0.00')
#3 H:\wamp\www\trader\Core\Zend\View\Abstract.php(340): call_user_func_array(Array, Array)
#4 [internal function]: Zend_View_Abstract-&gt;__call('currency', Array)
#5 H:\wamp\www\trader\Application\Ajax\Views\Scripts\Books\Add-line.php(6): Zend_View-&gt;currency('11', '79', '##0.00')
#6 H:\wamp\www\trader\Core\Zend\View.php(108): include('H:\wamp\www\tra...')
#7 H:\wamp\www\trader\Core\Zend\View\Abstract.php(831): Zend_View-&gt;_run('Application\Aja...')
#8 H:\wamp\www\trader\Core\Zend\Controller\Action\Helper\ViewRenderer.php(903): Zend_View_Abstract-&gt;render('books/add-line....')
#9 H:\wamp\www\trader\Core\Zend\C in <b>H:\wamp\www\trader\Core\Zend\Currency.php</b> on line <b>573</b><br />

Pouvez vous m'aider s'il vous plait ?

Merci d'avance,
Bien cordialement.

Dernière modification par nicko (15-12-2009 12:01:28)

Hors ligne

 

#2 15-12-2009 13:37:39

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: Probleme de décimale avec Zend_Currency

Hello,

Cet helper est prévu pour la 1.10 et est présent et fonctionnel dans l'incubator.

@+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#3 15-12-2009 15:35:00

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Probleme de décimale avec Zend_Currency

Merci mikaelkael,

Donc si je comprends bien dans mon cas, je ne peux rien faire ?

Hors ligne

 

#4 15-12-2009 15:55:43

mikaelkael
Administrateur
Lieu: Donges
Date d'inscription: 18-06-2007
Messages: 1176
Site web

Re: Probleme de décimale avec Zend_Currency

Hello,

Regardes http://framework.zend.com/code/browse/~ … rency.php, c'est le composant qui sera en 1.10

Dans ton composant, c'est le setFormat() ligne 10 qui ne fonctionne pas, Zend_Currency attend une locale.

@+


Less code = less bugs
Contributeur ZF - ZCE - ZFCE - Doc ZF (CHM & PDF) - Vice-trésorier AFUP 2011
Ubuntu 11.04 - ZendServer

Hors ligne

 

#5 16-12-2009 09:01:27

nicko
Membre
Lieu: Chambéry
Date d'inscription: 25-05-2009
Messages: 190

Re: Probleme de décimale avec Zend_Currency

Merci pour le lien, mais le format des chiffre n'a pas l'air d'y être (peut être que je me trompe).

En faite je souhaite avoir une valeur de ce type 1.45455 €.

Hors ligne

 

#6 17-09-2010 11:40:39

Alexandre_T
Nouveau membre
Date d'inscription: 17-09-2010
Messages: 4

Re: Probleme de décimale avec Zend_Currency

Je cherchais la même information. Je l'ai trouvé, je vous la partage, même si c'est un peu tard.

Code:

$currency->setFormat(array('precision' => 9));

Avantage de cette méthode : elle conserve le format de la locale.
Bonne journée.

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr

Graphisme réalisé par l'agence Rodolphe Eveilleau
Développement par Kitpages