Delphi справочник - Форум программистов - Навигация  
 A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z      По первой букве  
System     SysUtils     StrUtils     DateUtils     FileCtrl     ConvUtils     StdConvs     Math     Classes     Dialogs     Types     Variants    ПО Unit   Compiler directives     Directives     Keywords     Types     Variables     Constants     Functions     Procedures    По категории  


Основы Delphi
FormatFloat
Функция
Богатое форматирование числа с плавающей запятой в строку SysUtils unit
  
1 function FormatFloat ( const Formatting : string; Value : Extended ) : string;

2 function FormatFloat ( const Formatting : string; Value : Extended; FormatSettings : TFormatSettings ) : string;
Описание
Функция FormatFloat обеспечивает богатое Форматирование числа с плавающей запятой Value в строку.

Форматируемая строка может содержать соединение текста свободного формата и управляющих символов:

0: Вызывает отображение цифр или 0
#: Дополнительное цифровое отображение
, : Вызывает отображение тысяч
. : Вызывает отображение десятичных чисел
E+: Вызывает отображение знаковой экспоненты
E-: Дополнительное отображение знака экспоненты
; : Разделитель положительных, отрицательных и нулевых значений

Их лучше всего понять посмотрев на типовой код.

Версия 2 этой функции - для использования в пределах потоков. Вы заполняете запись FormatSettings перед вызовом запроса. Она получает локальную копию глобальной форматирующей переменной, которая делает вашу подпрограмму потоко безопасной.
Похожие команды
CurrencyDecimals  Определяет число десятичных цифр в функции Format

CurrencyFormat  Определяет размещение строки валюты в функции показа валюты

CurrencyString  Строка валюты, используемая в функциях отображения валюты

DecimalSeparator  Символ используемый для отображения десятичной точки

FloatToStrF  Преобразует значение с плавающей запятой в строку с форматированием

Format  Богатое форматирование чисел и текста в строке

FormatCurr  Богатое форматирование значений валюты в строку

FormatDateTime  Богатое форматирование переменной TDateTime в строку

NegCurrFormat  Определяет отображение отрицательного количества форматированной валюты

StrToFloat  Преобразует числовую строку в значение с плавающей запятой

ThousandSeparator  Символ, используемый для отображения разделителя тысяч

 
Пример кода : Показ всех типов форматирования данных
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
 



© Форум Delphi   |  Блог программистов   |  Создание и продвижение сайтов - "Веб сателлит"  |  Ссылки   |  Английская версия