Wie der Wert einer Währung dargestellt wird hängt hauptsächlich vom verwendeten Gebietsschema ab. Es gibt verschiedene Informationen welche vom Gebietsschema gesetzt werden. Jede von Ihnen kann manuell überschrieben werden indem die richtige Option verwendet wird.
Zum Beispiel verwenden die meisten Gebietsschemata die lateinische Schreibweise für die darstellung von Ziffern. Aber es gibt Sprachen wie "Arabisch" welche andere Ziffern verwenden. Und wenn man eine arabische Website hat, will man möglicherweise andere Währungen auch durch Verwendung der arabischen Schreibweise darstellen. Siehe das folgende Beispiel:
Beispiel 154. Verwendung einer eigenen Schreibweise
Angenommen wir verwenden wieder unsere Währung "Dollar". Aber jetzt wollen wir unsere Währung durch Verwendung der arabischen Schreibweise darstellen.
$currency = new Zend_Currency( array( 'value' => 1000, 'script' => 'Arab', ) ); print $currency; // Könnte '$ ١٬٠٠٠٫٠٠' zurückgeben
Weitere Informationen über vorhandenen Schreibweisen können in
Zend_Locale
's Kapitel über
Zahlensysteme nachgelesen werden.
Aber auch die Formatierung der Währungszahl (Geldwert) kann verwändert werden. Standardmäßig hängt Sie vom verwendeten Gebietsschema ab. Sie enthält einen Separator der zwischen Tausendern verwendet wird, ein Zeichen das als Dezimalpunkt verwendet wird, sowie die verwendete Genauigkeit.
$currency = new Zend_Currency( array( 'value' => 1000, 'currency' => 'USD' 'format' => 'de', ) ); print $currency; // Könnte '$ 1.000' zurückgeben
Es gibt zwei Wege um das Format zu definieren das verwendet wird. Man kann entweder ein Gebietsschema angeben oder ein Format manuell definieren.
Wenn man ein Gebietsschema für die Definierung des Formats verwendet wird alles automatisch gesetzt. Das Gebietsschema 'de' zum Beispiel,definiert '.' als Separator für die Tausender, und ',' als Dezimalpunkt. Im englischen ist es genau umgekehrt.
$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; // Könnte '$ 1.000' zurückgeben print $currency_2; // Könnte '$ 1,000' zurückgeben
Wenn man es manuell definiert muss es dem Format entsprechen welches in diesem Kapitel über Lokalisierung beschrieben wird. Siehe das folgende:
$currency = new Zend_Currency( array( 'value' => 1000, 'currency' => 'USD' 'format' => '#0', ) ); print $currency; // Könnte '$ 1000' zurückgeben
Im obigen Abschnitt haben wir den Separator und auch die Genauigkeit gelöscht.