Calculating with currencies
When working with currencies you will sometimes also have to calculate with them.
Zend_Currency allows you to do this with some simple methods.
The following methods are supported for calculation:
-
add(): This method adds the given
currency to the existing currency object.
-
sub(): This method substracts the
given currency from the existing currency object.
-
div(): This method divides the
given currency from the existing currency object.
-
mul(): This method multiplies the
given currency with the existing currency object.
-
mod(): This method calculates the
remaining value (modulo) from dividing the given currency from the existing
currency object.
-
compare(): This method compares
the given currency with the existing currency object. When both values are
equal it returns '0'. When the existing currency value is greater than the
given, this method will return 1. Otherwise you will get '-1' returned.
-
equals(): This method compares
the given currency with the existing currency object. When both values are
equal it returns TRUE, otherwise
FALSE.
-
isMore(): This method compares
the given currency with the existing currency object. When the existing
currency is greater than the given one, you will get TRUE
in return, otherwise FALSE.
-
isLess(): This method compares
the given currency with the existing currency object. When the existing
currency is less than the given one, you will get TRUE
in return, otherwise FALSE.
As you can see the multiple methods allow any kind of calculation with
Zend_Currency. See the next snippets as example:
$currency = new Zend_Currency(
'value' => 1000,
'currency' => 'USD',
)
);
print $currency; // Could return '$ 1.000,00'
$currency->add(500);
print $currency; // Could return '$ 1.500,00'
$currency_2 = new Zend_Currency(
'value' => 500,
'currency' => 'USD',
)
);
if ($currency->isMore($currency_2)) {
}
$currency->div(5);
print $currency; // Could return '$ 200,00'
|
|