- Exchange table
- Rounding difference
In french: eVersEuro
Converts to Euro a value expressed in a specific currency.
// Convert Marks to Euro
ResConversion = eToEuro(150, eDEM)
// Convert Liras to Euro and manage the rounding difference
// Two decimal places are used for the conversion
ResConversion = eToEuro(10000, eITL, 2, resDiff)
<Result> = eToEuro(<Value to convert> [, <Source currency> [, <Number of decimals> [, <Rounding difference>]]])
Value converted into Euros.
<Value to convert>: Currency
Amount to convert.
<Source currency>: Integer or constant (optional)
Identifier of the source currency or constant associated with the source currency. If this parameter is not specified, the currency to convert is the currency whose identifier is "1" (by default the French Franc).
<Number of decimals>: Optional integer
Number of decimal places used for the result of the conversion (2 by default).
<Rounding difference>: Optional currency
Variable retrieving the rounding difference caused by the conversion. This difference is expressed in the source currency.
This parameter is only useful for currencies whose exchange rate is greater than the Euro (Belgium Franc, Peseta, etc.). For the other currencies, this parameter is always null.
An exchange table is stored in memory. Each currency is associated with:
- A currency number used to identify the currency by programming.
- A constant used to identify the currency by programming.
- A caption (up to 7 characters): this caption is displayed in the "Currency + Euro" control if the input mask allows it (the $ sign is indicated).
- An exchange rate. This exchange rate corresponds to the exchange rate of the currency in relation to the Euro.
This exchange table is as follows:
|Currency number||Constant||Country||Exchange rate||Default caption|
|Currencies not taking part in the Euro|
|16 - 25|| ||0||Free1 to Free10|
The first currency (whose identifier is set to 0) is the currency used as reference for the conversions.
In this exchange table, you have the ability to:
- add new currencies by modifying the custom currencies if necessary ("user-defined currencies" from 16 to 25) with eInitCurrency,
- specify the exchange rate of each currency with eInitCurrency.
: The currencies whose exchange rate is set to 0 will not be displayed in the context menu of the "Currency + Euro" control. To define the exchange rate of these currencies, you must redefine them in the initialization code of the project with eInitCurrency
The <Rounding difference> is calculated by the following formula:
Round(<Value to convert>, <Result in source currency>, <Number of decimals>)
Difference AND ResConversion are currencies
ResConversion = eToEuro(1.52, eFRF, 2, Difference)
ResConversion is set to 0.45 and Difference is set to 0.01.
The following line of code allows you to retrieve the initial amount:
InitialAmount = eToCurrency(ResConversion, eFRF, 2) + Difference
This page is also available for…