Строка формата 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 или #). Два смежных разделителя тысяч или разделитель тысяч сразу слева от десятичного разделителя (независимо от того, указан ли десятичный разделитель) означает "масштабирование числа путем деления числа на 1000 с округлением по мере необходимости". Например, можно использовать строку формата "##0", чтобы представить 100 миллионов как 100. Числа меньше одного миллиона отображаются как 0. Два идущих подряд разделителя групп разрядов в любой позиции, кроме позиции непосредственно слева от десятичного разделителя, интерпретируются просто как разделители групп разрядов. Фактический символ, используемый в качестве разделителя групп разрядов в отформатированном значении, зависит от числового формата, распознаваемого системой. Важно! В некоторых языковых стандартах в качестве разделителя групп разрядов используется точка. |
: | Разделитель времени, разделяющий часы, минуты и секунды при форматировании значений времени. Важно! В некоторых языковых стандартах в качестве разделителя времени могут использоваться другие символы. Фактический символ, используемый в качестве разделителя времени в отформатированном значении, зависит от настроек системы. |
/ | Разделитель дат, разделяющий день, месяц и год при форматировании значений данных. Фактический символ, используемый в качестве разделителя дат в отформатированном значении, зависит от настроек системы. Важно! В некоторых языковых стандартах в качестве разделителя дат могут использоваться другие символы. |
E- E+ e- e+ | Экспоненциальный формат. Если выражение формата содержит минимум один цифровой заполнитель (0 или #) справа от символов E-, E+, e-или e+, отформатированное значение отображается в экспоненциальном формате, а между числом и его показателем степени вставляется символ "E" или "e". Число заполнителей цифр справа определяет количество цифр в показателе степени. Для вывода отрицательных показателей степени со знаком "минус" используется E- или e- . Для вывода отрицательных показателей степени со знаком "минус" и положительных со знаком "плюс" используйте E+ или e+ . |
- + $ ( ) | Буквенный символ. Чтобы отобразить символ, отличный от одного из перечисленных, поместите обратную косую черту (\) перед символом или заключите его в двойные кавычки (" "). |
\ | Следующий символ в строке формата. Чтобы вывести специальный символ в качестве обычного буквенного символа, укажите перед ним обратную косую черту (\). Сама обратная косая черта не отображается. Использование обратной косой черты аналогично заключению выводимого символа в двойные кавычки. Чтобы отобразить обратную косую черту, используйте две обратные косые черты (\\). К символам, которые не выводятся в буквенном виде, относятся следующие: Символы форматирования даты и времени a,c, d, h, m, n, p, q, s, t, w, y, /и : Числовое форматирование символов-#, 0, %, 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 | Отображает день в виде полного имени (с воскресенья по субботу). |
ддддд | Вывод полной даты (включая день, месяц и год), отформатированной в соответствии с системным сокращенным форматом даты. В Microsoft Windows по умолчанию используется следующий сокращенный формат даты: д/м/гг. |
dddddd | Вывод числа даты в виде полной даты (включая день, месяц и год), отформатированной в соответствии с системным форматом полной даты. В Microsoft Windows по умолчанию используется следующий формат полной даты: дд мммм, гггг. |
w | Вывод номера дня недели (от 1 — понедельник, до 7 — воскресенье). |
Ww | Отображает неделю года в виде числа (1–54). |
m | Отображает месяц в виде числа без нуля в начале (1–12). Если м следует сразу за ч или чч, выводятся минуты, а не месяц. |
мм | Отображает месяц в виде числа с нулем в начале (01–12). Если м следует сразу за ч или чч, выводятся минуты, а не месяц. |
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 при выводе времени с полудня до полуночи. Важно! Используется 12-часовой формат времени. |
am/pm | Отображение строчных букв am при выводе времени с полуночи до полудня и pm при выводе времени с полудня до полуночи. Важно! Используется 12-часовой формат времени. |
A/P | Отображение заглавных букв A при выводе времени с полуночи до полудня и P при выводе времени с полудня до полуночи. Важно! Используется 12-часовой формат времени. |
a/p | Отображение строчных букв a при выводе времени с полуночи до полудня и p при выводе времени с полудня до полуночи. Важно! Используется 12-часовой формат времени. |
AMPM | Вывод строкового литерала, определенного в системе для вывода времени до полудня, при выводе времени с полуночи до полудня, и строкового литерала, определенного в системе для вывода времени после полудня, при выводе времени с полудня до полуночи. Важно! Используется 12-часовой формат времени. Литералы времени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)