Description |
The TFloatFormat type is used by the following SysUtils functions :
CurrToStrF? For displaying currency values
FloatToStrF For general float displaying
FloatToText For formatting to an array
The possible values of TFloatFormat are :
ffGeneral
Defines general number formatting that aims to keep the resultant value as compact as possible. It removes trailing zeros and the decimal point where appropriate. No thousand separators are shown. Exponent format is used if the mantissa is too large for the specified Precision value of the formatting command. In this case, the Digits value (0..4) determines the minimum number of exponent digits shown. The decimal point character is determined by the DecimalSeparator variable.
ffExponent
Commonly referred to as the Scientific or Engineering format, the exponent refers to the letter E followed by a number. The number gives the power of 10 of the number. For example, E+15 means 1015. The exponent always has a + or - sign. This exponent is preceded by a number that always has one digit before the decimal place.
For example :
123.456 formats as 1.23456E+2
0.00123 formats as 1.23E-3
The using function Precision parameter gives the number of displayed digits before the E, and the Digits parameter gives the number (0..4) of digits after the E.
The decimal point character is determined by the DecimalSeparator variable.
ffFixed
This format again uses no thousands separator. It displays Precision digits before the decimal point, and Digits digits after. If there are too many digits before the decimal point, then the Exponent format is used instead.
The decimal point character is determined by the DecimalSeparator variable.
ffNumber
Same as ffFixed, except that thousand separators are used. These are defined by the ThousandSeparator variable.
ffCurrency
Same as ffNumber, but with a currency symbol (string) added, as defined by the CurrencyString variable. Additionally, the formatting is influenced by the CurrencyFormat and NegCurrFormat variables.
|
|
Notes |
Note above that the Precision and Digits values of the function using TFloatFormat depend on the format chosen.
|
|
Related commands |
|
|
|
Example code : Illustrate the 5 different types of formatting |
var
amount : Extended;
begin
amount := 1234.56;
// Display using ffGeneral formatting
WriteLn('General 4,0 = '+FloatToStrF(amount, ffGeneral, 4, 0));
WriteLn('General 6,0 = '+FloatToStrF(amount, ffGeneral, 6, 0));
WriteLn('General 6,2 = '+FloatToStrF(amount, ffGeneral, 6, 2));
WriteLn('General 3,2 = '+FloatToStrF(amount, ffGeneral, 3, 2));
WriteLn('');
// Display using ffExponent formatting
WriteLn('Exponent 4,0 = '+FloatToStrF(amount, ffExponent, 4, 0));
WriteLn('Exponent 6,0 = '+FloatToStrF(amount, ffExponent, 6, 0));
WriteLn('Exponent 6,2 = '+FloatToStrF(amount, ffExponent, 6, 2));
WriteLn('Exponent 3,2 = '+FloatToStrF(amount, ffExponent, 3, 2));
WriteLn('');
// Display using ffFixed formatting
WriteLn('Fixed 4,0 = '+FloatToStrF(amount, ffFixed, 4, 0));
WriteLn('Fixed 6,0 = '+FloatToStrF(amount, ffFixed, 6, 0));
WriteLn('Fixed 6,2 = '+FloatToStrF(amount, ffFixed, 6, 2));
WriteLn('Fixed 3,2 = '+FloatToStrF(amount, ffFixed, 3, 2));
WriteLn('');
// Display using ffNumber formatting
WriteLn('Number 4,0 = '+FloatToStrF(amount, ffNumber, 4, 0));
WriteLn('Number 6,0 = '+FloatToStrF(amount, ffNumber, 6, 0));
WriteLn('Number 6,2 = '+FloatToStrF(amount, ffNumber, 6, 2));
WriteLn('Number 3,2 = '+FloatToStrF(amount, ffNumber, 3, 2));
WriteLn('');
// Display using ffCurrency formatting
WriteLn('Currency 4,0 = '+FloatToStrF(amount, ffCurrency, 4, 0));
WriteLn('Currency 6,0 = '+FloatToStrF(amount, ffCurrency, 6, 0));
WriteLn('Currency 6,2 = '+FloatToStrF(amount, ffCurrency, 6, 2));
WriteLn('Currency 3,2 = '+FloatToStrF(amount, ffCurrency, 3, 2));
end;
|
Show full unit code |
General 4,0 = 1235
General 6,0 = 1234.56
General 6,2 = 1234.56
General 3,2 = 1.23E03
Exponent 4,0 = 1.235E+3
Exponent 6,0 = 1.23456E+3
Exponent 6,2 = 1.23456E+03
Exponent 3,2 = 1.23E+03
Fixed 4,0 = 1235
Fixed 6,0 = 1235
Fixed 6,2 = 1234.56
Fixed 3,2 = 1.23E03
Number 4,0 = 1,235
Number 6,0 = 1,235
Number 6,2 = 1,234.56
Number 3,2 = 1.23E03
Currency 4,0 = ?1,235
Currency 6,0 = ?1,235
Currency 6,2 = ?1,234.56
Currency 3,2 = 1.23E03
|
|