# A quoi ressemble une monnaie?

Le rendu visuel d'une monnaie va dépendre de la locale. La locale stocke plusieurs informations qui peuvent chacune être redéfinies par vos propres options si besoin.

Par exemple, la plupart des locales utilisent le script latin pour rendre les nombres. Mais certaines langues, comme l'arabe, utilisent d'autres chiffres. Et un site Web Arabe va utiliser le rendu arabe pour toutes les monnaies, voyez l'exemple:

Utiliser un script personnalisé

Imagnons que nous utisons la monnaie "Dollar". Mais nous voulons rendre notre page avec des scripts arabes.

    $currency = new Zend_Currency(
        array(
            'value'  => 1000,
            'script' => 'Arab',
        )
    );

    print $currency; // Retournerait '$ ١٬٠٠٠٫٠٠'

Pour plus d'informations sur les scripts disponibles, voyez le manuel de Zend_Localesur les systèmes des nombres.

Le formattage d'une monnaie peut être changé. Par défaut, la locale est utilisée. Elle indique le séparateur des milliers, le point de la décimale et la précision.

    $currency = new Zend_Currency(
        array(
            'value'    => 1000,
            'currency' => 'USD'
            'format'   => 'de',
        )
    );

    print $currency; // Retournerait '$ 1.000'

Il existe deux manières de préciser le format à utiliser, manuellement ou via une locale.

Utiliser la locale vous permet de bénéficier de certains automatismes. Par exemple la locale 'de' definit le point '.' comme séparateur des milliers, et la virgule ',' comme séparateur décimal. En anglais, c'est l'inverse.

    $currency_1 = new Zend_Currency(
        array(
            'value'    => 1000,
            'currency' => 'USD'
            'format'   => 'de',
        )
    );

    $currency_2 = new Zend_Currency(
        array(
            'value'    => 1000,
            'currency' => 'USD'
            'format'   => 'en',
        )
    );

    print $currency_1; // Retournerait '$ 1.000'
    print $currency_2; // Retournerait '$ 1,000'

Si vous les définissez manuellement, vous devez alors respecter le format décrit dans ce chapitre de la localisation . Voyez plutôt:

    $currency = new Zend_Currency(
        array(
            'value'    => 1000,
            'currency' => 'USD'
            'format'   => '#0',
        )
    );

    print $currency; // Retournerait '$ 1000'

Dans l'exemple ci-dessus nous avons supprimé le séparateur et l'indicateur de précision.