Description |
The FloatToStrF function converts a floating point number Value into a displayable string, with great control over the formatting via the Format, Precision, and Digits values.
The Value type may be any of the floating point types.
The Format parameter is defined by the TFloatFormat (SysUtils) type :
ffCurrency | eg : ?2,345.60 |
ffExponent | eg : 2.3456E+04 |
ffFixed | eg : 2345.60 |
ffGeneral | eg : 2345.6 |
ffNumber | eg : 2,345.6 |
The other parameters are dependent on this format. See TFloatFormat for full details.
Version 2 of this function is for use within threads. You furnish the FormatSettings record before invoking the call. It takes a local copy of global formatting variables that make the routine thread safe.
|
|
Notes |
You can change the currency string from the default (such as '$' in the USA, '?' in the UK) using the CurrencyString variable.
You can change the position of the currency string using the CurrencyFormat variable.
You can change the decimal point value by setting the DecimalSeparator character.
You can change the thousands separator value by setting the ThousandSeparator character.
If the full number of digits before the decimal point (the mantissa) cannot be displayed, then the display reverts to the exponent (scientific) format.
|
|
Related commands |
|
|
|
Example code : Display numbers as financial values |
var
amount1 : Extended;
begin
amount1 := 1234.567;
// Display in a Currency format
CurrencyString := '? ';
WriteLn('Using 8,4 = '+FloatToStrF(amount1, ffCurrency, 8, 4));
WriteLn('Using 4,4 = '+FloatToStrF(amount1, ffCurrency, 4, 4));
WriteLn('Using 4,2 = '+FloatToStrF(amount1, ffCurrency, 4, 2));
WriteLn('Using 2,4 = '+FloatToStrF(amount1, ffCurrency, 2, 4));
end;
|
Show full unit code |
Using 8,4 = ? 1,234.5670
Using 4,4 = ? 1,235.0000
Using 4,2 = ? 1,235.00
Using 2,4 = 1.2E0003
|
|
Example code : Display numbers with Scientific formatting |
var
amount1 : Extended;
begin
amount1 := 1234.567;
// Display in a Scientific format
WriteLn('Using 8,4 = '+FloatToStrF(amount1, ffExponent, 8, 4));
WriteLn('Using 4,4 = '+FloatToStrF(amount1, ffExponent, 4, 4));
WriteLn('Using 4,2 = '+FloatToStrF(amount1, ffExponent, 4, 2));
WriteLn('Using 2,4 = '+FloatToStrF(amount1, ffExponent, 2, 4));
end;
|
Show full unit code |
Using 8,4 = 1.2345670E+0003
Using 4,4 = 1.235E+0003
Using 4,2 = 1.235E+03
Using 2,4 = 1.2E+0003
|
|
Example code : General display of numbers |
var
amount1 : Extended;
begin
amount1 := 1234.567;
// Display in Fixed format
WriteLn('Fixed formatting :');
WriteLn('');
WriteLn('Using 8,4 = '+FloatToStrF(amount1, ffFixed, 8, 4));
WriteLn('Using 4,4 = '+FloatToStrF(amount1, ffFixed, 4, 4));
WriteLn('Using 4,2 = '+FloatToStrF(amount1, ffFixed, 4, 2));
WriteLn('Using 2,4 = '+FloatToStrF(amount1, ffFixed, 2, 4));
// Display in General format
WriteLn('');
WriteLn('General formatting :');
WriteLn('');
WriteLn('Using 8,4 = '+FloatToStrF(amount1, ffGeneral, 8, 4));
WriteLn('Using 4,4 = '+FloatToStrF(amount1, ffgeneral, 4, 4));
WriteLn('Using 4,2 = '+FloatToStrF(amount1, ffGeneral, 4, 2));
WriteLn('Using 2,4 = '+FloatToStrF(amount1, ffGeneral, 2, 4));
// Display in Number format
WriteLn('');
WriteLn('Number formatting :');
WriteLn('');
WriteLn('Using 8,4 = '+FloatToStrF(amount1, ffNumber, 8, 4));
WriteLn('Using 4,4 = '+FloatToStrF(amount1, ffNumber, 4, 4));
WriteLn('Using 4,2 = '+FloatToStrF(amount1, ffNumber, 4, 2));
WriteLn('Using 2,4 = '+FloatToStrF(amount1, ffNumber, 2, 4));
end;
|
Show full unit code |
Fixed formatting :
Using 8,4 = 1234.5670
Using 4,4 = 1235.0000
Using 4,2 = 1235.00
Using 2,4 = 1.2E0003
General formatting :
Using 8,4 = 1234.567
Using 4,4 = 1235
Using 4,2 = 1235
Using 2,4 = 1.2E0003
Number formatting :
Using 8,4 = 1,234.5670
Using 4,4 = 1,235.0000
Using 4,2 = 1,235.00
Using 2,4 = 1.2E0003
|
|