Функция FormatFloat в Delphi расширенное форматирование числа с плавающей запятой в строку.
SysUtils unit
- function FormatFloat (const Formatting : string; Value : Extended) : string;
- function FormatFloat (const Formatting : string; Value : Extended; FormatSettings : TFormatSettings) : string;
Функция FormatFloat обеспечивает расширенное Форматирование числа с плавающей запятой Value в строку.
Форматируемая строка может содержать соединение текста свободного формата и управляющих символов:
- 0: Вызывает отображение цифр или 0;
- #: Дополнительное цифровое отображение;
- , : Вызывает отображение тысяч;
- . : Вызывает отображение десятичных чисел;
- E+: Вызывает отображение знаковой экспоненты;
- E-: Дополнительное отображение знака экспоненты;
- ; : Разделитель положительных, отрицательных и нулевых значений.
Их лучше всего понять посмотрев на типовой код.
Версия 2 этой функции – для использования в пределах потоков. Вы заполняете запись FormatSettings перед вызовом запроса. Она получает локальную копию глобальной форматирующей переменной, которая делает вашу подпрограмму потокобезопасной.
Функция FormatFloat: Показ всех типов форматирования данных
var
float : extended;
begin
// Установка нашего числа с плавающей запятой
float := 1234.567;
// Отображение типового значения, используя все варианты формата
// Округление десятичного значения
ShowMessage('##### : '+FormatFloat('#####', float));
ShowMessage('00000 : '+FormatFloat('00000', float));
ShowMessage('0 : '+FormatFloat('0' , float));
ShowMessage('#,##0 : '+FormatFloat('#,##0', float));
ShowMessage(',0 : '+FormatFloat(',0' , float));
ShowMessage('');
// Включение десятичного значения
ShowMessage('0.#### : '+FormatFloat('0.####', float));
ShowMessage('0.0000 : '+FormatFloat('0.0000', float));
ShowMessage('');
// Научный формат
ShowMessage('0.0000000E+00 : '+FormatFloat('0.0000000E+00', float));
ShowMessage('0.0000000E-00 : '+FormatFloat('0.0000000E-00', float));
ShowMessage('#.#######E-## : '+FormatFloat('#.#######E-##', float));
ShowMessage('');
// Включение текста свободного формата
ShowMessage('"Value = "0.0 : '+FormatFloat('"Value = "0.0', float));
ShowMessage('');
// Различное форматирование отрицательных чисел
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('');
// Различный формат нулевых значений
ShowMessage('0.0 : '+FormatFloat('0.0' , 0.0));
ShowMessage('0.0;-0.0;"Nothing" : '+
FormatFloat('0.0;-0.0;"Nothing"', 0.0));
end;
Результат
##### : 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
Похожие функции, процедуры и команды
CurrencyDecimals — определяет число десятичных цифр в функции Format.
CurrencyFormat — определяет размещение строки валюты в функции показа валюты.
CurrencyString — строка валюты, используемая в функциях отображения валюты.
DecimalSeparator — символ используемый для отображения десятичной точки.
FloatToStrF — преобразует значение с плавающей запятой в строку с форматированием.
Format — расширенное форматирование чисел и текста в строке.
FormatCurr — расширенное форматирование значений валюты в строку.
FormatDateTime — расширенное форматирование переменной TDateTime в строку.
NegCurrFormat — определяет отображение отрицательного количества форматированной валюты.
StrToFloat — преобразует числовую строку в значение с плавающей запятой.
ThousandSeparator — символ, используемый для отображения разделителя тысяч.
