Travailler avec les valeurs des monnaies (les montants)

Calculs avec les monnaies

Il est possible en travaillant avec des monnaies, d'effectuer des calculs. Zend_Currency permet d'effectuer de tels calculs très facilement. Les méthodes suivantes sont supportées:

  • add(): Ajoute la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet

  • sub(): Soustrait la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet

  • div(): Divise la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet.

  • mul(): Multiplie la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet.

  • mod(): Calcul le modulo de la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet.

  • compare(): Compare la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet. Si les deux valeurs sont égales, '0' est retourné. Si la monnaie actuelle est plus grande que celle fournie, '1' sera retourné. Dans l'autre cas, '-1' sera retourné.

  • equals(): Compare la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet. Si les deux valeurs sont égales, TRUE est retourné, FALSE sinon.

  • isMore(): Compare la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet. Si la monnaie interne à l'objet est supérieure à la valeur passée, TRUE est retourné, FALSE sinon.

  • isLess(): Compare la valeur de la monnaie à celle actuellement stockée en mémoire dans l'objet. Si la monnaie interne à l'objet est inférieure à la valeur passée, TRUE est retourné, FALSE sinon.

Comme vous le voyez ces méthodes permettent n'importe quel calcul avec Zend_Currency. Voici quelques exemples:

  1. $currency = new Zend_Currency(
  2.     array(
  3.         'value'    => 1000,
  4.         'currency' => 'USD',
  5.     )
  6. );
  7.  
  8. print $currency; // Pourrait retourner '$ 1.000,00'
  9.  
  10. $currency->add(500);
  11. print $currency; // Pourrait retourner '$ 1.500,00'
  1. $currency_2 = new Zend_Currency(
  2.     array(
  3.         'value'    => 500,
  4.         'currency' => 'USD',
  5.     )
  6. );
  7.  
  8. if ($currency->isMore($currency_2)) {
  9.     print "First is more";
  10. }
  11.  
  12. $currency->div(5);
  13. print $currency; // Pourrait retourner '$ 200,00'

Travailler avec les valeurs des monnaies (les montants)