- The currency type
- Default value
- Binary coding of reals
- Thousand separator
- Calculations on currencies
- External language
is a real coded on 10 bytes.
A currency can contain up to 23 significant digits (17 for the integer part and 6 for the decimal part) and it can take a value included between -604 462 909 807 314 587, 353 087 and +604 462 909 807 314 587, 353 087.
The currency type is recommended to avoid the rounding errors caused by the binary coding of reals.
- For greater precision, it is recommended to use numerics (38 significant digits).
- For other calculations, it is recommended to use reals.
- Numbers (real, integer, currency, numeric) cannot exceed 14 significant digits in PHP. If they exceed this limit, they are rounded to 14 digits.
A "Currency" variable that is declared but not initialized is equal to 0.
To force the assignment of a currency, use 0m in front of the value. For example:
num1 is currency
num1 = 0m12345678901234567891234567
Binary coding of reals
have the same number of significant digits (15).
If the result of a calculation performed on reals
involves more than 15 significant digits, this result will be automatically rounded to 15 significant digits. The precision of the result will be less than the precision of a calculation performed with the currency
provide even greater precision (32 digits for the integer part and 6 digits for the decimal part).
You can use spaces and underscore characters to separate thousands in numbers. For example:
num1 is currency
num1 = 123 456.478
num2 is currency
num2 = 568_014.478
Calculations on currencies
All the calculations that use at least one currency will be performed in currency format. For a more precise result, all the operands will be automatically converted to currency.
For example, when a real is multiplied by a currency, the calculation is performed using the currency type.
Remark: For greater precision, it is recommended to use the Numeric type
to perform calculations.
The currency type is not available in external language.
This page is also available for…