[GENERIC] Zend_Translate:
[zend.git] / documentation / manual / en / module_specs / Zend_Currency-Value.xml
blob8d2e4710099d026c699a64fcfd937927037a40ab
1 <?xml version="1.0" encoding="UTF-8"?>
2 <!-- Reviewed: no -->
3 <sect1 id="zend.currency.value">
4     <title>How much is my currency?</title>
6     <para>
7         When you are working with currencies then you normally want to display an amount of
8         money. And when you work with different currencies then you have to do this with three
9         different things. The amount you want to display, the precision you want to use, and
10         probably the exchange rate.
11     </para>
13     <sect2 id="zend.currency.value.money">
14         <title>Working with currency values</title>
16         <para>
17             The currency value, a.k.a. the money, you want to use can easily be set by using the
18             <property>value</property> option.
19         </para>
21         <programlisting language="php"><![CDATA[
22 $currency = new Zend_Currency(
23     array(
24         'value'    => 1000,
25         'currency' => 'USD',
26     )
29 print $currency; // Could return '$ 1.000'
30 ]]></programlisting>
32         <para>
33             Using the <methodname>setFormat()</methodname> method with this array option, and
34             also by using the <methodname>setValue()</methodname> method you can set the value
35             afterwards.
36         </para>
38         <programlisting language="php"><![CDATA[
39 $currency = new Zend_Currency(
40     array(
41         'value'    => 1000,
42         'currency' => 'USD',
43     )
46 print $currency->setValue(2000); // Could return '$ 2.000'
47 ]]></programlisting>
49         <para>
50             With the <methodname>getValue()</methodname> method you will get the actual set
51             value.
52         </para>
53     </sect2>
55     <sect2 id="zend.currency.value.precision">
56         <title>Using precision on currencies</title>
58         <para>
59             When working with currencies they you probably also have to handle precision.
60             Most currencies use a precision of 2. This means that when you have 100 US dollars
61             you could also have 50 cents. The related value is simply a floating value.
62         </para>
64         <programlisting language="php"><![CDATA[
65 $currency = new Zend_Currency(
66     array(
67         'value'    => 1000.50,
68         'currency' => 'USD',
69     )
72 print $currency; // Could return '$ 1.000,50'
73 ]]></programlisting>
75         <para>
76             Of course, as the default precision is 2, you will get '00' for the decimal value
77             when there is no precision to display.
78         </para>
80         <programlisting language="php"><![CDATA[
81 $currency = new Zend_Currency(
82     array(
83         'value'    => 1000,
84         'currency' => 'USD',
85     )
88 print $currency; // Could return '$ 1.000,00'
89 ]]></programlisting>
91         <para>
92             To get rid of this default precision you could simply use the
93             <property>precision</property> option and set it to '0'. And you can set any other
94             precision you want to use between 0 and 9. All values will be rounded or streched
95             when they don't fit the set precision.
96         </para>
98         <programlisting language="php"><![CDATA[
99 $currency = new Zend_Currency(
100     array(
101         'value'     => 1000,30,
102         'currency'  => 'USD',
103         'precision' => 0
104     )
107 print $currency; // Could return '$ 1.000'
108 ]]></programlisting>
109     </sect2>
110 </sect1>