В строках формата указывается форматирование текстовых полей и того простого текста, который используется в полях вывода. Строка формата состоит из 5 аргументов (можно указывать не все аргументы). Вместе с тем важно знать позиции аргументов в строке. Например, если необходимо установить только третий параметр, строка должна содержать как минимум две запятых, после которых должен прописываться третий параметр.
Синтаксис
«[Format,EmptyifZero,LeadingZeros,Alignment,Exponentialrep]»
«Format» будет представлен в следующем виде:
(целое число)знаки[.количество десят. знаков после точки]тип данных
Используемые типы данных: «f» для числ с плавающей точкой, «d» для целых чисел и «s» для строк с символами. Таким образом, «2.3f» подразумевает число с плавающей точкой, для которого имеется два знака для целых чисел и три десятичных знака после запятой. «t» означает время. Время может отображаться в разных форматах:
Формат | Пример | Устанавливаемый параметр | |
ГГ.ММ.ДД ЧЧ:ММ:СС.ммм | 2010.10.20 12:39:37.468 | t | |
Местные дата и время | 10/20/2010 2:00:24 PM | %ct | |
Местная дата | 10/20/2010 | %xt | |
Местное время | 14:00:40 | %Xt | |
Пользовательская Данные атрибуты можно совмещать друг с другом. Например, при записи «[%a%d%b%Yt,…]» время будет выводиться как «Wed20Oct2010». | Краткое имя дня недели | Wed | %at |
Полное имя дня недели | Wednesday | %At | |
Краткое имя месяца | Oct | %bt | |
Полное имя месяца | Октябрь | %Bt | |
День месяца (1-31) | 20 | %dt | |
Месяц | 10 | %mt | |
Год со столетием | 2010 | %Yt |
Оставшиеся аргументы имеют двоичные значения:
- Если EmptyifZero = true, текстовое поле остается пустым, когда отображаемое значение «0». При значении false отображается «0». В случае нулевого времени «00:00», результатом будет пустая строка.
- Если LeadingZeros = true, указанное количество знаков для целых чисел заполняется нулями.
- Если Alignment = true, текст выравнивается по левому, а при значении false — по правому краю поля.
- Выравнивание по центру так же возможно для простого текста в следующих форматах: ALIGNMENT_END или ALIGNMENT_BEGINNING, ALIGNMENT_CENTER.
- Если Exponentialrep =true,данные выводятся в экспоненциальной форме.
ВНИМАНИЕ
Если не нужно отображать десятичные знаки после точки, используйте строку формата 4d.
ВНИМАНИЕ
В строке формата не должно быть пробелов. Например, пробел после запятой маскирует соответствующий параметр.
ПРИМЕР
Устанавливается формат простого теста «text1» в виде поля восьмизнаковой строки с выравниванием по левому краю, при этом будет отображаться текст данной длины.
main() { int x; x=setValue(«text1», «format», «[8s,,,TRUE,]»); } |