<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 24249 -->
<!-- Reviewed: no -->
<sect1 id="zend.currency.calculation">
    <title>Calculs avec les monnaies</title>

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

    <itemizedlist mark='opencircle'>
        <listitem>
            <para>
                <emphasis><methodname>add()</methodname></emphasis>: Ajoute la valeur de
                la monnaie à celle actuellement stockée en mémoire dans l'objet
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>sub()</methodname></emphasis>: Soustrait la valeur de
                la monnaie à celle actuellement stockée en mémoire dans l'objet
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>div()</methodname></emphasis>: Divise la valeur de
                la monnaie à celle actuellement stockée en mémoire dans l'objet.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>mul()</methodname></emphasis>: Multiplie la valeur de
                la monnaie à celle actuellement stockée en mémoire dans l'objet.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>mod()</methodname></emphasis>: Calcul le modulo de la valeur de
                la monnaie à celle actuellement stockée en mémoire dans l'objet.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>compare()</methodname></emphasis>: 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é.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>equals()</methodname></emphasis>: Compare la valeur de
                la monnaie à celle actuellement stockée en mémoire dans l'objet. Si les deux
                valeurs sont égales, <constant>TRUE</constant> est retourné,
                <constant>FALSE</constant> sinon.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>isMore()</methodname></emphasis>: 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, <constant>TRUE</constant>
                est retourné, <constant>FALSE</constant> sinon.
            </para>
        </listitem>

        <listitem>
            <para>
                <emphasis><methodname>isLess()</methodname></emphasis>: 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, <constant>TRUE</constant>
                est retourné, <constant>FALSE</constant> sinon.
            </para>
        </listitem>
    </itemizedlist>

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

    <programlisting language="php"><![CDATA[
$currency = new Zend_Currency(
    array(
        'value'    => 1000,
        'currency' => 'USD',
    )
);

print $currency; // Pourrait retourner '$ 1.000,00'

$currency->add(500);
print $currency; // Pourrait retourner '$ 1.500,00'
]]></programlisting>

    <programlisting language="php"><![CDATA[
$currency_2 = new Zend_Currency(
    array(
        'value'    => 500,
        'currency' => 'USD',
    )
);

if ($currency->isMore($currency_2)) {
    print "First is more";
}

$currency->div(5);
print $currency; // Pourrait retourner '$ 200,00'
]]></programlisting>
</sect1>
