Свойство DisplayFormat
Свойство
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.