Свойство
property DisplayFormat: string;
применяется для форматирования при показе полей типа TDateField, TDateTimeField, TIntegerField, TSmallintField, TTimeField, TWordField.
Для форматирования полей типа TIntegerField, TSmallintField и TWordField может также применяться стандартная процедура procedure Str(X [: Width [: Decimals ]]; var S);
Для форматирования полей типа TDateField, TDateTimeField и TTimeField применяется функция function Date TimeToStr (Date Time: TDateTime): String;
Для форматирования полей типа TBCDField, TCurrencyField и TFloatField применяется функция function FloatToTextFmt(Buffer: PChar; Value: Extended:
Format: PChar): Integer;
Поддерживаются следующие спецификаторы форматов:
Спец-р |
Что влечет |
0 |
Число. Если незначащий разряд равен 0, показывать его. |
# |
Число. Если незначащий разряд равен 0, не показывать его. |
Десятичная точка. Разделяет целую и дробную часть числа Принимается во внимание только первая точка, остальные игнорируются. |
|
' |
Разделитель тысяч. Каждая группа чисел из 3 разрядов в целой части отделяется от иных разрядов запятой. |
' |
Разделяет положительное, отрицательное и нулевое значение. |
Е+ |
Научный формат действительных чисел |
"XX' или 'XX' |
Символы внутри двойных или одинарных парных кавычек не форматируются и выводятся как есть. Например, число 123.45 с форматом '#.# "рублей"' выведется как '123.5 рублей' |
Примеры использования форматов.
Форматируемое число |
987654.321 |
-987654.321 |
0.27 |
-0.27 |
0 |
не форматировано |
987654.321 |
-987654.321 |
0.27 |
-0.27 |
0 |
0 |
987654 |
-987654 |
0 |
0 |
0 |
0.00 |
987654.32 |
-987654.32 |
0.27 |
0 |
0.00 |
# |
987654 |
-987654 |
|||
#.## |
987654.32 |
-987654.32 |
.27 |
-.27 |
|
#,##0.00 |
987,654.32 |
-987,654.32 |
0.27 |
-0.27 |
0.00 |
#,##0.00; (#,##0.0) |
987,654.32 |
(987,654.32) |
0.27 |
(0.3) |
0.00 |
#,##0.00;; Нолик |
987,654.32 |
-987,654.32 |
0.27 |
-0.27 |
Нолик |
О.ОООЕ+00 |
9.877Е+05 |
-9.877Е+0 |
2.700Е-01 |
-2.700E-01 |
0.000Е+00 |
#.###Е-0 |
9.877Е5 |
-9.877Е5 |
2.7Е-1 |
-2.7Е-1 |
0Е0 |
Пусть значение поля 3456.777. Тогда, если DisplayFormat := '#.##', то будет показано 3456.78.
ЗАМЕЧАНИЕ.
Формат показа поля может быть динамически переназначен во время выполнения. Например, для заполнения данной таблицы мы воспользовались компонентами Edit1 и Button1 и производили динамическую замену формата поля Table I Salary так:procedure TForm1.Button1Click(Sender: TObject);
begin
Table1Salary.DisplayFormat := Edit1.Text;
end;
DisplayFormat
игнорируется, если определен обработчик для события OnGetText.ЗАМЕЧАНИЕ.
В случае, если поле, требующее обязательного ввода в него значения (свойство Required = True), на момент запоминания в таблице БД (т.е. на момент начала выполнения метода Post) содержит пустое или нулевое значение, возбуждается исключение EDBEditError.