Функция FloatToStrF в Delphi преобразует значение с плавающей запятой в строку с форматированием.
SysUtils unit
- function FloatToStrF (Value : Extended; Format : TFloatFormat; Precision, Digits : Integer) : string;
- function FloatToStrF (Value : Extended; Format : TFloatFormat; Precision, Digits : Integer; const FormatSettings : TFormatSettings) : string;
Функция FloatToStrF конвертирует значение Value с плавающей запятой в визуализуемую строку, с большим управлением по форматированию через значения Format, Precision, и Digits.
Типом Value может быть любой из с типов с плавающей запятой.
Параметр Format определен TFloatFormat (SysUtils) типом:
- ffCurrency eg : $2,345.60
- ffExponent eg : 2.3456E+04
- ffFixed eg : 2345.60
- ffGeneral eg : 2345.6
- ffNumber eg : 2,345.6
Другие параметры зависят от этого формата. См. TFloatFormat для полных подробностей.
Версия 2 этой функции – для использования в пределах потоков. Вы должны заполнить запись FormatSettings перед вызовом запроса. Она берёт местная копию глобальной переменной, форматирующей переменные, которые делают подпрограмму потокобезопасной.
Примечание.
Вы можете изменить строку валюты используемую по умолчанию (типа '$' в США) используя переменную CurrencyString.
Вы можете изменить позицию строки валюты используя переменную CurrencyFormat.
Вы можете изменить значение десятичной точки, устанавливая символ DecimalSeparator.
Вы можете изменить символ разделителя тысяч, устанавливая символ ThousandSeparator.
Если полное количество цифр перед десятичной точкой (мантисса) не может быть отображено, то отображение возвращается к экспоненте (научный) формат.
Функция FloatToStrF: Показ чисел как финансовые значения
var
amount1 : Extended;
begin
amount1 := 1234.567;
// Отображение в формате Currency
CurrencyString := 'Ј ';
ShowMessage('Используя 8,4 = '+FloatToStrF(amount1, ffCurrency, 8, 4));
ShowMessage('Используя 4,4 = '+FloatToStrF(amount1, ffCurrency, 4, 4));
ShowMessage('Используя 4,2 = '+FloatToStrF(amount1, ffCurrency, 4, 2));
ShowMessage('Используя 2,4 = '+FloatToStrF(amount1, ffCurrency, 2, 4));
end;
Результат
Используя 8,4 = $ 1,234.5670
Используя 4,4 = $ 1,235.0000
Используя 4,2 = $ 1,235.00
Используя 2,4 = 1.2E0003
Функция FloatToStrF: Показ чисел с научным форматированием
var
amount1 : Extended;
begin
amount1 := 1234.567;
// Показ в Научном формате
ShowMessage('Используя 8,4 = '+FloatToStrF(amount1, ffExponent, 8, 4));
ShowMessage('Используя 4,4 = '+FloatToStrF(amount1, ffExponent, 4, 4));
ShowMessage('Используя 4,2 = '+FloatToStrF(amount1, ffExponent, 4, 2));
ShowMessage('Используя 2,4 = '+FloatToStrF(amount1, ffExponent, 2, 4));
end;
Результат
Используя 8,4 = 1.2345670E+0003
Используя 4,4 = 1.235E+0003
Используя 4,2 = 1.235E+03
Используя 2,4 = 1.2E+0003
Функция FloatToStrF: Общее отображение чисел
var
amount1 : Extended;
begin
amount1 := 1234.567;
// Показ в формате Fixed
ShowMessage('Fixed форматирование :');
ShowMessage('');
ShowMessage('Используя 8,4 = '+FloatToStrF(amount1, ffFixed, 8, 4));
ShowMessage('Используя 4,4 = '+FloatToStrF(amount1, ffFixed, 4, 4));
ShowMessage('Используя 4,2 = '+FloatToStrF(amount1, ffFixed, 4, 2));
ShowMessage('Используя 2,4 = '+FloatToStrF(amount1, ffFixed, 2, 4));
// Показ в формате General
ShowMessage('');
ShowMessage('General форматирование :');
ShowMessage('');
ShowMessage('Используя 8,4 = '+FloatToStrF(amount1, ffGeneral, 8, 4));
ShowMessage('Используя 4,4 = '+FloatToStrF(amount1, ffgeneral, 4, 4));
ShowMessage('Используя 4,2 = '+FloatToStrF(amount1, ffGeneral, 4, 2));
ShowMessage('Используя 2,4 = '+FloatToStrF(amount1, ffGeneral, 2, 4));
// Показ в формате Number
ShowMessage('');
ShowMessage('Number форматирование :');
ShowMessage('');
ShowMessage('Используя 8,4 = '+FloatToStrF(amount1, ffNumber, 8, 4));
ShowMessage('Используя 4,4 = '+FloatToStrF(amount1, ffNumber, 4, 4));
ShowMessage('Используя 4,2 = '+FloatToStrF(amount1, ffNumber, 4, 2));
ShowMessage('Используя 2,4 = '+FloatToStrF(amount1, ffNumber, 2, 4));
end;
Результат
Fixed форматирование:
Используя 8,4 = 1234.5670
Используя 4,4 = 1235.0000
Используя 4,2 = 1235.00
Используя 2,4 = 1.2E0003
General форматирование :
Используя 8,4 = 1234.567
Используя 4,4 = 1235
Используя 4,2 = 1235
Используя 2,4 = 1.2E0003
Number форматирование :
Используя 8,4 = 1,234.5670
Используя 4,4 = 1,235.0000
Используя 4,2 = 1,235.00
Используя 2,4 = 1.2E0003
Похожие функции, процедуры и команды
CurrencyDecimals — определяет число десятичных цифр в функции Format.
CurrencyFormat — определяет размещение строки валюты в функции показа валюты.
CurrencyString — строка валюты, используемая в функциях отображения валюты.
DecimalSeparator — символ используемый для отображения десятичной точки.
FloatToStr — преобразует значение с плавающей запятой в строку.
NegCurrFormat — определяет отображение отрицательного количества форматированной валюты.
TFloatFormat — форматы, используемые в функциях отображения чисел с плавающей запятой.
ThousandSeparator — символ, используемый для отображения разделителя тысяч.
