Description |
The FormatFloat function provides rich Formatting of a floating point number Value into a string.
The Formatting string may contain a mix of freeform text and control characters:
0 | : Forces digit display or 0 |
# | : Optional digit display |
, | : Forces display of thousands |
. | : Forces display of decimals |
E+ | : Forces signed exponent display |
E- | : Optional sign exponent display |
; | : Separator of +ve and -ve and zero values |
These are best understood by looking at the sample code.
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.
|
| Related commands | CurrencyDecimals | | Defines decimal digit count in the Format function | CurrencyFormat | | Defines currency string placement in curr display functions | CurrencyString | | The currency string used in currency display functions | DecimalSeparator | | The character used to display the decimal point | FloatToStrF | | Convert a floating point value to a string with formatting | Format | | Rich formatting of numbers and text into a string | FormatCurr | | Rich formatting of a currency value into a string | FormatDateTime | | Rich formatting of a TDateTime variable into a string | NegCurrFormat | | Defines negative amount formatting in currency displays | StrToFloat | | Convert a number string into a floating point value | ThousandSeparator | | The character used to display the thousands separator |
|
Download this web site as a Windows program.
|
|
|
|
Example code : Showing all of the formatting data types | var
float : extended;
begin
 // Set up our floating point number
float := 1234.567;
 // Display a sample value using all of the format options
 // Round out the decimal value
ShowMessage('##### : '+FormatFloat('#####', float));
ShowMessage('00000 : '+FormatFloat('00000', float));
ShowMessage('0 : '+FormatFloat('0' , float));
ShowMessage('#,##0 : '+FormatFloat('#,##0', float));
ShowMessage(',0 : '+FormatFloat(',0' , float));
ShowMessage('');
 // Include the decimal value
ShowMessage('0.#### : '+FormatFloat('0.####', float));
ShowMessage('0.0000 : '+FormatFloat('0.0000', float));
ShowMessage('');
 // Scientific format
ShowMessage('0.0000000E+00 : '+FormatFloat('0.0000000E+00', float));
ShowMessage('0.0000000E-00 : '+FormatFloat('0.0000000E-00', float));
ShowMessage('#.#######E-## : '+FormatFloat('#.#######E-##', float));
ShowMessage('');
 // Include freeform text
ShowMessage('"Value = "0.0 : '+FormatFloat('"Value = "0.0', float));
ShowMessage('');
 // Different formatting for negative numbers
ShowMessage('0.0 : '+FormatFloat('0.0' , -1234.567));
ShowMessage('0.0 "CR";0.0 "DB" : '+
FormatFloat('0.0 "CR";0.0 "DB"', -1234.567));
ShowMessage('0.0 "CR";0.0 "DB" : '+
FormatFloat('0.0 "CR";0.0 "DB"', 1234.567));
ShowMessage('');
 // Different format for zero value
ShowMessage('0.0 : '+FormatFloat('0.0' , 0.0));
ShowMessage('0.0;-0.0;"Nothing" : '+
FormatFloat('0.0;-0.0;"Nothing"', 0.0));
end;
| Show full unit code | ##### : 1235
00000 : 01235
0 : 1235
#,##0 : 1,235
,0 : 1,235
0.#### : 1234.567
0.0000 : 1234.5670
0.0000000E+00 : 1.2345670E+03
0.0000000E-00 : 1.2345670E03
#.#######E-## : 1.234567E3
"Value = " : Value = 1234.6
0.0 : -1234.6
0.0 "CR";0.0 "DB" : 1234.6 DB
0.0 "CR";0.0 "DB" : 1234.6 CR
0.0 : 0.0
0.0;-0.0;"Nothing" : Nothing |
|
|