Строка формата FORMAT_STRING (многомерные выражения)
Свойство ячейки FORMAT_STRING используется для форматирования свойства ячейки VALUE, в результате образуется значение свойства ячейки FORMATTED_VALUE. В свойстве ячейки FORMAT_STRING допускаются как строковые, так и числовые исходные значения. Выражение формата применяется к значению, образуя отформатированное значение свойства ячейки FORMATTED_VALUE. В следующих таблицах подробно описан синтаксис и символы форматирования, используемые для обработки строковых и числовых значений.
Строковые значения
Выражение форматирования строк может состоять из одного или двух разделов, отделенных точкой с запятой (;).
Использование |
Результат |
---|---|
Один раздел |
Формат распространяется на все строковые значения. |
Два раздела |
Первый раздел распространяется на строковые данные, а второй — на значения NULL и строки нулевой длины (""). |
В строке форматирования текстовых строк могут использоваться следующие символы.
Символ |
Описание |
---|---|
@ |
Текстовый заполнитель: любой символ или пробел. Если в строке в той же позиции, что и знак (@) в строке формата, находится символ, в отформатированной строке будет отображаться этот символ. В противном случае в отформатированной строке на этом месте будет пробел. Заполнители заполняются справа налево, если в строке формата нет восклицательного знака (!). |
& |
Текстовый заполнитель: любой символ или пустое место. Если в строке в той же позиции, что и знак амперсанда (&) в строке формата, находится символ, в отформатированной строке будет отображаться этот символ. В противном случае в отформатированной строке на этом месте не будет ничего. Заполнители заполняются справа налево, если в строке формата нет восклицательного знака (!). |
< |
Принудительный перевод в нижний регистр. В отформатированной строке все символы будут в нижнем регистре. |
> |
Принудительный перевод в верхний регистр. В отформатированной строке все символы будут в верхнем регистре. |
! |
Принудительное заполнение заполнителей слева направо (по умолчанию — справа налево). |
Числовые значения
Пользовательское выражение форматирования чисел может включать в себя от одного до четырех разделов, разделенных точками с запятой. Если аргумент формата содержит один из именованных числовых форматов, допускается использование только одного раздела.
Использование |
Результат |
---|---|
Один раздел |
Формат распространяется на все значения. |
Два раздела |
Первый раздел распространяется на неотрицательные значения, а второй — на отрицательные. |
Три раздела |
Первый раздел распространяется на положительные значения, второй — на отрицательные, третий — на нулевые. |
Четыре раздела |
Первый раздел распространяется на положительные значения, второй — на отрицательные, третий — на нулевые, четвертый — на значения NULL. |
В следующем примере имеется два раздела. В первом разделе определяется формат неотрицательных значений, во втором — отрицательных.
"$#,##0;($#,##0)"
Если в выражении формата встречаются точки с запятыми, между которыми ничего нет, пропущенный раздел выводится в формате положительного значения. Например, в следующем выражении формата положительные и отрицательные значения форматируются в первом разделе, а для нулевых значений выводится «Ноль».
"$#,##0;;\Z\e\r\o"
В строке форматирования числовых значений могут использоваться следующие символы.
Символ |
Описание |
||
---|---|---|---|
Нет |
Вывод числа без форматирования. |
||
0 |
Цифровой заполнитель: цифра или ноль (0). Если в числе в той же позиции, что и ноль в строке формата, находится цифра, в отформатированной строке будет отображаться эта цифра. В противном случае в отформатированном числе на этом месте будет ноль. Если число имеет меньше разрядов, чем нулей в строке формата (с обеих сторон от десятичного разделителя), отформатированное число выводится с начальными либо конечными нулями. Если число имеет больше разрядов справа от десятичного разделителя, чем нулей справа от десятичного разделителя в строке формата, отформатированное значение округляется до стольких знаков после запятой, сколько нулей в строке формата. Если число имеет больше цифр слева от десятичного разделителя, чем нулей слева от десятичного разделителя в строке формата, в отформатированном значении дополнительные разряды выводятся без изменений. |
||
# |
Цифровой заполнитель: цифра или пустое место. Если в числе в той же позиции, что и «решетка» (#) в строке формата, находится цифра, в отформатированной строке будет отображаться эта цифра. В противном случае в отформатированном числе на этом месте не будет ничего. Заполнитель «решетка» (#) аналогичен цифровому заполнителю «ноль» (0) с той разницей, что начальные и конечные нули не отображаются в случае, если число содержит столько же или меньше разрядов, чем «решеток» # с обеих сторон от десятичного разделителя в строке формата. |
||
. |
Десятичный заполнитель, определяющий, сколько разрядов отображается слева и справа от десятичного разделителя. Если выражение формата содержит «решетки» (#) только слева от точки (.), числа меньше 1 начинаются с десятичного разделителя. Чтобы в этом случае в дробных числах отображался начальный ноль, в качестве первого цифрового заполнителя слева от десятичного разделителя укажите ноль (0) в строке формата. Фактический символ, используемый в качестве десятичного заполнителя в отформатированном значении, зависит от числового формата, распознаваемого системой.
|
||
% |
Процентный заполнитель. Выражение умножается на 100. Символ процента (%) вставляется там, где процент выводится в строке форматирования. |
||
, |
Разделитель групп разрядов, отделяющий тысячи от сотен в числе с четырьмя или более разрядами слева от десятичного разделителя. При стандартном использовании разделителя групп разрядов он заключается в цифровые заполнители (0 или #). Два идущих подряд разделителя групп разрядов или разделитель непосредственно слева от десятичного разделителя (задан он или нет) означают масштабирование числа путем деления его на 1 000 и округления при необходимости. Например, строка формата «##0,,» используется для представления 100 миллионов как 100. Числа меньше миллиона отображаются как 0. Два идущих подряд разделителя групп разрядов в любой позиции, кроме позиции непосредственно слева от десятичного разделителя, интерпретируются просто как разделители групп разрядов. Фактический символ, используемый в качестве разделителя групп разрядов в отформатированном значении, зависит от числового формата, распознаваемого системой.
|
||
: |
Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени.
Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы. |
||
/ |
Разделитель дат, разделяющий день, месяц и год при форматировании значений данных. Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы.
|
||
E- E+ e- e+ |
Экспоненциальный формат. Если выражение формата содержит минимум один цифровой заполнитель (0 или #) справа от символов E-, E+, e- или e+, отформатированное значение отображается в экспоненциальном формате, а между числом и его показателем степени вставляется символ «E» или «e». Количество цифровых заполнителей справа определяет количество разрядов в показатели степени. Для вывода отрицательных показателей степени со знаком «минус» используются заполнители E- и e-. Для вывода отрицательных показателей степени со знаком «минус» и положительных со знаком «плюс» используются заполнители E+ и e+. |
||
- + $ ( ) |
Буквенный символ. Чтобы вывести символ, которого нет в списке, укажите перед ним обратную косую черту (\) либо заключите его в двойные кавычки (" "). |
||
\ |
Следующий символ в строке формата. Чтобы вывести специальный символ в качестве обычного буквенного символа, укажите перед ним обратную косую черту (\). Сама обратная косая черта не отображается. Использование обратной косой черты аналогично заключению выводимого символа в двойные кавычки. Чтобы вывести саму обратную косую черту, укажите две черты подряд (\\). К символам, которые не выводятся в буквенном виде, относятся следующие:
|
||
"ABC" |
Вывод строки, заключенной в двойные кавычки (" "). Для добавления строки в выражение формата в тексте программы используется функция Chr(34), заключающая текст в кавычки (34 — код символа двойной кавычки). |
Именованные числовые форматы
В следующей таблице перечислены имена стандартных числовых форматов.
Имя формата |
Описание |
---|---|
General Number |
Отображает число без разделителя групп разрядов. |
Currency |
Отображает число с разделителем групп разрядов, если необходимо. Отображает две цифры справа от десятичного разделителя. Вывод основан на параметрах локали системы. |
Fixed |
Отображает не менее одной цифры слева и две цифры справа от десятичного разделителя. |
Standard |
Отображает число с разделителем групп разрядов, не менее одной цифры слева и две цифра справа от десятичного разделителя. |
Percent |
Отображает число, умноженное на 100 с добавлением справа символа процента (%). Всегда отображает две цифры справа от десятичного разделителя. |
Scientific |
Использует стандартное экспоненциальное представление. |
Yes/No |
Отображает «Нет», если число равно 0; в противном случае — «Да». |
True/False |
Отображает «False», если число равно 0; в противном случае — «True». |
On/Off |
Отображает «Выкл», если число равно 0; в противном случае — «Вкл». |
Значения даты
В строке форматирования значений даты и времени могут использоваться следующие символы.
Символ |
Описание |
||
---|---|---|---|
: |
Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени. Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы.
|
||
/ |
Разделитель дат, разделяющий день, месяц и год при форматировании значений данных. Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы.
|
||
C |
Вывод даты в формате ддддд и времени в формате ввввв именно в этом порядке. Если в числе даты нет дробной части, выводятся только сведения о дате. Если в числе даты нет целой части, выводятся только сведения о времени. |
||
d |
Вывод числа месяца без нуля в начале (1–31). |
||
dd |
Вывод числа месяца с нулем в начале (01–31). |
||
ddd |
Вывод сокращенного названия дня недели (Пон — Вос). |
||
dddd |
Вывод дня недели полностью (Понедельник — Воскресенье). |
||
ddddd |
Вывод полной даты (включая день, месяц и год), отформатированной в соответствии с системным сокращенным форматом даты. В Microsoft Windows по умолчанию используется следующий сокращенный формат даты: д/м/гг. |
||
dddddd |
Вывод числа даты в виде полной даты (включая день, месяц и год), отформатированной в соответствии с системным форматом полной даты. В Microsoft Windows по умолчанию используется следующий формат полной даты: дд мммм, гггг. |
||
w |
Вывод номера дня недели (от 1 — понедельник, до 7 — воскресенье). |
||
ww |
Вывод номера недели года (1 — 54). |
||
m |
Вывод номера месяца без нуля в начале (1-12). Если m следует сразу за h или hh, выводятся минуты, а не месяц. |
||
mm |
Вывод номера месяца с начальным нулем (01–12). Если m следует сразу за h или hh, выводятся минуты, а не месяц. |
||
mmm |
Вывод сокращенного названия месяца (Янв — Дек). |
||
mmmm |
Вывод полного названия месяца (Январь — Декабрь). |
||
q |
Вывод номера квартала в году (1-4). |
||
y |
Вывод номера дня в году (1-366). |
||
yy |
Вывод двух последних цифр в номере года (00-99). |
||
yyyy |
Вывод всех цифр года (100-9999). |
||
h |
Вывод часа без нуля в начале (0-23). |
||
hh |
Вывод часа с нулем в начале (00-23). |
||
n |
Вывод минуты без нуля в начале (0-59). |
||
nn |
Вывод минуты с нулем в начале (00-59). |
||
s |
Вывод секунды без нуля в начале (0-59). |
||
ss |
Вывод секунды с нулем в начале (00-59). |
||
t t t t t |
Вывод полного времени (включая час, минуту и секунду), отформатированного с помощью разделителя времени, который определен системным форматом времени. Если выбран соответствующий параметр, отображаются нули в начале при выводе времени до 10:00 как до полудня, так и после . Например, 09:59. В Microsoft Windows по умолчанию используется следующий формат времени: ч:мм:сс. |
||
AM/PM |
Вывод заглавных букв AM при выводе времени с полуночи до полудня и PM при выводе времени с полудня до полуночи.
|
||
am/pm |
Вывод строчных букв am при выводе времени с полуночи до полудня и pm при выводе времени с полудня до полуночи.
|
||
A/P |
Вывод заглавных букв A при выводе времени с полуночи до полудня и P при выводе времени с полудня до полуночи.
|
||
a/p |
Вывод строчных букв a при выводе времени с полуночи до полудня и p при выводе времени с полудня до полуночи.
|
||
AMPM |
Вывод строкового литерала, определенного в системе для вывода времени до полудня, при выводе времени с полуночи до полудня, и строкового литерала, определенного в системе для вывода времени после полудня, при выводе времени с полудня до полуночи.
Литералы времени AMPM могут указываться как в верхнем, так и в нижнем регистре, однако регистр при выводе строки выбирается в соответствии с системными настройками компьютера. В Microsoft Windows по умолчанию используется формат AM/PM. |
Именованные форматы даты
В следующей таблице приведены стандартные имена форматов даты и времени.
Имя формата |
Описание |
---|---|
General Date |
Отображает дату и/или время. Для действительных чисел отображает дату и время, например 03.04.1993, 17:34. При отсутствии дробной части отображается только дата, например 03.04.1993. При отсутствии целой части отображается только время, например 17:34. Формат отображения данных определяется настройками системы. |
Long Date |
Отображает дату в длинном формате системы. |
Medium Date |
Отображает дату в среднем формате, подходящем для языковой версии приложения. |
Short Date |
Отображает дату в кратком формате системы. |
Long Time |
Отображает время в длинном формате системы, включая часы, минуты и секунды. |
Medium Time |
Отображает время в 12-часовом формате (часы, минуты и указатель AM/PM). |
Short Time |
Отображает время в 24-часовом формате, например 17:45. |
См. также
Основные понятия
Взаимодействие свойств LANGUAGE и FORMAT_STRING для построения свойства FORMATED_VALUE
Свойства ячеек (многомерные выражения)
Другие ресурсы
Создание и использование значений свойств (многомерные выражения)
Основные принципы запросов многомерных выражений (службы Analysis Services)