|
Функция Format |
|
|
Функция Format | | Синтаксис Format(expression[, format[, firstdayofweek[, firstweekofyear]]]) | Возвращает значение типа Variant (String), содержащее выражение, отформатированное согласно инструкциям, заданным в описании формата. | Параметры Наименование | Описание | Expression | Обязательный. Любое допустимое выражение.
| Format | Необязательный. Любое допустимое именованное или определяемое пользователем выражение формата.
| FirstDayOfWeek | Необязательный. Константа, определяющая первый день недели.
| FirstWeekOfYear | Необязательный. Константа, определяющая первую неделю года. |
| Замечания
Ниже перечислены допустимые
значения аргумента FirstDayOfWeek: |
Константа |
Значение |
Описание |
vbUseSystem |
0 |
Используется настройка NLS API. |
vbSunday |
1 |
Воскресенье (по умолчанию). |
vbMonday |
2 |
Понедельник. |
vbTuesday |
3 |
Вторник |
vbWednesday |
4 |
Среда. |
vbThursday |
5 |
Четверг. |
vbFriday |
6 |
Пятница. |
vbSaturday |
7 |
Суббота. |
Ниже перечислены допустимые
значения аргумента FirstWeekOfYear: |
Константа |
Значение |
Описание |
vbUseSystem |
0 |
Используется настройка NLS API. |
vbFirstJan1 |
1 |
Неделя, которая содержит 1
января (по умолчанию). |
vbFirstFourDays |
2 |
Первая неделя, которая
содержит по крайней мере четыре дня
этого года. |
vbFirstFullWeek |
3 |
Первая полная неделя года. |
Дополнительные сведения |
Форматирование |
Выполняемые действия |
Числа |
Использование
стандартных числовых форматов или
создание специальных числовых форматов.
|
Даты и время |
Использование
стандартных форматов даты и времени или
создание специальных форматов даты и
времени. |
Даты и время в числовом
представлении |
Использование
форматов даты и времени или числовых
форматов. |
Строки |
Создание специальных
строковых форматов |
В следующей таблице перечислены символы, которые можно использовать при создании выражений для строковых форматов:
@ |
Прототип символа. Выводит символ или пробел. Если форматируемая строка содержит символ в позиции, соответствующей символу (@) в строке формата, то в данной позиции будет выведен этот символ; в противном случае в данной позиции будет выведен пробел. Строка формата заполняется справа налево, если в ней нет символа (!). |
& |
Прототип символа. Выводит символ или не выводит ничего.. Если форматируемая строка содержит символ в позиции, соответствующей символу (&) в строке формата, то в данной позиции будет выведен этот символ; в противном случае данная позиция останется пустой. Строка формата заполняется справа налево, если в ней нет символа (!). |
< |
Символ нижнего регистра. Преобразует все символы к нижнему регистру. |
> |
Символ верхнего регистра. Преобразует все символы к нижнему регистру. |
! |
Заполнение строки формата слева направо. По умолчанию строка формата заполняется справа налево. |
В следующей таблице перечислены стандартные форматы даты и времени:
General Date |
Отображает дату и/или время. Если число имеет и целую, и дробную часть, то изображаются и дата, и время (например, 04.03.93 17:34); если у числа нет дробной части, то отображается только дата (например, 04.03.93); если у числа нет целой части, то отображается только время (например, 17:34). Фактическое изображение даты и времени определяется системной настройкой. |
Long Date |
Отображает дату согласно длинному системному формату даты. |
Medium Date |
Отображает дату согласно среднему формату даты, установленному для языковой версии главного приложения. |
Short Date |
Отображает дату согласно краткому системному формату даты. |
Long Time |
Отображает время согласно длинному системному формату времени: часы, минуты и секунды. |
Medium Time |
Отображает значение времени в 12-часовом формате: часы, минуты и индикатор
"AM/PM". |
Short Time |
Отображает значение времени в 24-часовом формате (например, 17:45). |
В следующей таблице перечислены символы, которые можно использовать при создании специальных форматов даты и времени:
(:) |
Разделитель компонентов времени. В некоторых национальных настройках применяется другой символ. Разделитель компонентов времени используется для разделения компонентов времени (часов, минут и секунд). Фактический символ, используемый в качестве разделителя компонентов времени, определяется текущей национальной настройкой. В России в качестве разделителя компонентов времени используется двоеточие. |
(/) |
Разделитель компонентов даты. В некоторых национальный настройках применяется другой символ. Разделитель компонентов даты используется для разделения компонентов даты (дня, месяца и года). Фактический символ, используемый в качестве разделителя компонентов даты, определяется текущей национальной настройкой. В России в качестве разделителя компонентов даты используется точка. |
c |
Отображает дату как ddddd и время как
ttttt. Если у числа нет дробной части, то отображается только дата; если у числа нет целой части, то отображается только время. |
d |
Выводит номер дня, содержащий одну или две цифры (1 – 31). |
dd |
Выводит номер дня, содержащий две цифры (01 – 31). |
ddd |
Выводит сокращенное название дня недели (Пн– Вс). |
dddd |
Выводит полное название дня недели (Понедельник– Воскресенье). |
ddddd |
Отображает соответствующую числу полную дату (день, месяц и год) согласно краткому системному формату даты. В Microsoft Windows краткий формат даты по умолчанию имеет вид
"dd.mm.yy". |
dddddd |
Отображает соответствующую числу полную дату (день, месяц и год) согласно длинному системному формату даты. В Microsoft Windows длинный формат даты по умолчанию имеет вид
"d mmmm yyyy 'г.'". |
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 |
Отображает полное время (часы, минуты и секунды) согласно текущему системному формату времени. В Microsoft Windows формат времени по умолчанию имеет вид
"h:mm:ss". |
AM/PM |
Использует 12-часовую шкалу, добавляя прописные буквы
"AM" (до полудня) или "PM" (между полуднем и полуночью). |
am/pm |
Использует 12-часовую шкалу, добавляя строчные буквы
"am" (до полудня) или "pm" (между полуднем и полуночью). |
A/P |
Использует 12-часовую шкалу, добавляя прописные буквы
"A" (до полудня) или "P" (между полуднем и полуночью). |
a/p |
Использует 12-часовую шкалу, добавляя строчные буквы
"a" (до полудня) или "p" (между полуднем и полуночью). |
AMPM |
Использует 12-часовую шкалу, добавляя текстовую константу, добавляя текстовую константу, заменяющую в текущей системе индикаторы
"AM" (до полудня) или "PM" (между полуднем и полуночью). Регистр изображаемой текстовой строки определяется соответствующими системными настройками. В Microsoft Windows по умолчанию используется формат
"AM/PM". |
В следующей таблице перечислены стандартные числовые форматы:
General Number |
Отображает число без разделителей групп разрядов. |
Currency |
Отображает значение с разделителями групп разрядов (если требуется). В настройке США отображает две цифры справа от десятичного разделителя. Обозначение денежной единицы и ее положение относительно числа определяется текущей национальной настройкой. |
Fixed |
Отображает по крайней мере одну цифру слева и две цифры справа от десятичного разделителя. |
Standard |
Отображает по крайней мере одну цифру слева и две цифры справа от десятичного разделителя, а также разделители групп разрядов. |
Percent |
Отображает число, умноженное на 100, со знаком процентов
(%), добавленным справа. Всегда отображает две цифры справа от десятичного разделителя. |
Scientific |
Использует стандартную экспоненциальную нотацию. |
Yes/No |
Отображает значение
"No" (Нет), если число равно 0; в противном случае отображает
"Yes" (Да). |
True/False |
Отображает значение
False, если число равно 0; в противном случае отображает
True. |
On/Off |
Отображает значение
"Off" (Выкл), если число равно 0; в противном случае отображает
"On" (Вкл). |
В следующей таблице перечислены символы, которые можно использовать при создании специальных числовых форматов:
Отсутствует |
Отображает число без специального форматирования. |
(0) |
Прототип цифры. Выводит цифру или нуль. Если форматируемое выражение содержит цифру в позиции, соответствующей прототипу "0" в строке формата, то в данной позиции будет выведена эта цифра; в противном случае в данной позиции будет выведен нуль.Если число цифр в целой или дробной части форматируемого числа меньше, чем число прототипов "0" слева или справа от десятичного разделителя в строке формата, соответственно, то в начало или конец числа будут добавлены недостающие нули. Если количество цифр в дробной части форматируемого числа больше, чем количество прототипов "0" справа от десятичного разделителя в строке формата, то число будет округлено с соответствующей точностью. Если количество цифр в целой части форматируемого числа больше, чем количество прототипов "0" слева от десятичного разделителя в строке формата, то лишние цифры будут выведены без изменения. |
(#) |
Прототип цифры. Выводит цифру или не выводит ничего. Если форматируемое выражение содержит цифру в позиции, соответствующей символу # в строке формата, то в данной позиции будет выведена цифра; в противном случае данная позиция останется пустой.Отличие данного символа от символа формата "0" состоит в том, что если количество цифр в целой или дробной части форматируемого числа меньше, чем число символов
"#" слева или справа от десятичного разделителя в строке формата, соответственно, то недостающие нули в начале или конце числа добавлены не будут. |
(.) |
Десятичный разделитель. В некоторых национальных настройках десятичным разделителем служит запятая. Десятичный разделитель указывает, сколько цифр следует вывести в целой и дробной части форматируемого числа, т.е. слева и справа от десятичного разделителя. Если строка формата содержит слева от десятичного разделителя только символы
"#", то число, меньшее единицы, при выводе будет начинаться с десятичного разделителя. Если требуется, чтобы дробные числа всегда изображались с начальным нулем перед десятичным разделителем, следует использовать символ формата "0" в качестве первого символа строки числового формата. Фактический символ, используемый в качестве десятичного разделителя, определяется установленным в системе числовым форматом. В России в качестве десятичного разделителя используется запятая. |
(%) |
Процентный формат. Выражение умножается на 100. Символ процентов
(%) выводится в позиции, соответствующей позиции прототипа в строке формата. |
(,) |
Разделитель групп разрядов. В некоторых национальных настройках в качестве разделителя групп разрядов используется точка. Разделитель групп разрядов разделяет позиции тысяч и сотен в числе, целая часть которого состоит из четырех или большего числа цифр. Стандартное применение разделителя групп разрядов задается в строке формата, в которой пробел окружен символами вывода цифры (0 или
#). Два соседних разделителя групп разрядов или разделитель групп разрядов, стоящие сразу перед десятичным разделителем (даже если символ десятичного разделителя не указан явно), означают, что масштаб числа следует изменить, разделив его указанное число раз на 1000 и округлив по мере надобности. Такой способ позволяет выводить большие числа. Например, строка формата
"##0,," отображает сто миллионов как 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 является кодом символа прямых кавычек (")). |
При форматировании чисел без указания аргумента format функция Format выдает тот же результат, что и функция Str, хотя эта функция учитывает национальную настройку. Отличие состоит в том, что при преобразовании положительного числа с помощью функции Format пробел в начале строки (на месте знака числа) теряется, а при преобразовании с помощью функции Str останется. | Пример использования 'В данном примере показаны различные применения функции Format
'для форматирования значений с использованием стандартных и
спе-
'циальных форматов. Фактические символы, используемые в качестве
'разделителя даты (/), разделителя времени (:) и индикатора
"AM/PM",
'определяются текущими национальными настройками. В среде
разра-
'ботчика для изображения дат и времени используются установленные
'в этой среде краткий формат времени и даты, соответственно. Во время
'выполнения программы для изображения дат и времени используются
'краткие системные форматы даты и времени, которые могут отличаться
'от установленных в среде разработчика. В данном примере используются
'национальные настройки, принятые в России.
'В среде разработчика MyTime и MyDate изображаются в текущем
'системном кратком формате времени и даты соответственно.
Dim MyTime, MyDate, MyStr
MyTime = #17:04:23#
MyDate = #January 27, 1993#
'Возвращает текущее системное время в длинном системном формате.
MyStr = Format(Time, "General Date")
'Возвращает текущую системную дату в длинном системном формате.
MyStr = Format(Date, "General Date")
MyStr = Format(MyTime, "h:m:s") 'Возвращает "17:4:23".
MyStr = Format(MyTime, "hh:mm:ss AMPM") 'Возвращает "05:04:23 PM".
MyStr = Format(MyDate, "dddd, mmm d yyyy") 'Возвращает
"Wednesday,
'Jan 27 1993".
'Если формат не указан, возвращается строка.
MyStr = Format(23) 'Возвращает "23".
'Специальные форматы.
MyStr = Format(5459.4, "##,##0.00") 'Возвращает "5,459.40".
MyStr = Format(334.9, "###0.00") 'Возвращает "334.90".
MyStr = Format(5, "0.00%") 'Возвращает "500.00%".
MyStr = Format("ПРИВЕТ", "<") 'Возвращает "привет".
MyStr = Format("Вот он какой", ">") 'Возвращает "ВОТ ОН КАКОЙ". | Дополнительная информация Категория: Функции преобразования и форматирования данных Еще функции: CBool, CByte, CCur, CDate, CDbl, CDec, Chr, CInt, CLng, CSng, CStr, CVar, CVDate, Format, FormatCurrency, FormatDateTime, FormatNumber, FormatPercent, Hex, Oct, Str, Val |
|
|
|
|
|
|
|