MyTetra Share
Делитесь знаниями!
Метод Strings.Format (Object, String)
16.03.2019
23:43
Раздел: !Закладки - VBA - Разобрать

Метод Strings.Format (Object, String)

.NET Framework (current version)
 

Опубликовано: Октябрь 2016

Возвращает строку, отформатированную в соответствии с инструкциями, содержащимися в формате String выражений.

Пространство имен:   Microsoft.VisualBasic
Сборка:  Microsoft.VisualBasic (в Microsoft.VisualBasic.dll)

Public Shared Function Format (

Expression As Object,

Style As String

) As String



Параметры

Expression
Type: System.Object

Обязательный. Любое допустимое выражение.

Style
Type: System.String

Необязательно. Недопустимый формат именованный или определенный пользователем String выражение.

Возвращаемое значение

Type: System.String

Возвращает строку, отформатированную в соответствии с инструкциями, содержащимися в формате String выражений.

String.Format Метод также предоставляет аналогичные функциональные возможности.

При форматировании нелокализованной числовой строки следует использовать числовой формат, определенный пользователем, чтобы получить желаемый вид.

При попытке отформатировать число без указания Style, Format функция предоставляет функциональность, аналогичную Str функция, хотя и учетом региональных стандартов. Однако положительные числа в формате строк с помощью Format функция не включает начальный пробел для знака значения; те преобразуется с использованием Str функция сохранить начальный пробел.

Выражение определяемого пользователем форматирования чисел может иметь от одного до трех разделов, разделенных точкой с запятой. Если Style аргумент Format функция содержит один из стандартных числовых форматов, допускается только один раздел.

Если вы используете

Это результат

Только одна секция

Выражение форматирования применяется ко всем значениям.

Две секции

Первая секция применяется для положительных значений и нулей; второй применяется для отрицательных значений.

Три секции

Первый раздел распространяется на положительные значения, второй применяется для отрицательных значений и третья применяется к нулям.

Следующий пример имеет две секции: первая определяет формат для положительных значений и нулей; Во втором разделе определяет формат для отрицательных значений. Поскольку Style аргумент Format функция принимает строку, она заключена в кавычки.

Dim Style1 As String = "$#,##0;($#,##0)"



При включении запятой с между которыми ничего нет, пропущенный раздел выводится в формате положительного значения. Например, следующий формат отображает положительные и отрицательные значения форматируются в первом разделе и отображает Zero Если значение равно нулю.

Dim Style2 As String = "$#,##0;;\Z\e\r\o"



В следующей таблице указаны имена стандартных числовых форматов. Они могут использоваться с названием Style аргумент для Format функции:

Имя формата

Описание

General Number, G или g

Отображает число без разделителя групп разрядов.

Например Format(&H3FA, "g") возвращает 1018.

Currency, C или c

Отображает число с разделителя групп разрядов, если это необходимо; Отображает две цифры справа от десятичного разделителя. Вывод основан на настройках языкового стандарта системы.

Например Format(1234567, "c") возвращает $1,234,567.00.

Fixed, F или f

Отображает хотя бы одну цифру слева и две цифры справа от десятичного разделителя.

Например Format(1234567, "f") возвращает 1234567.00.

Standard, N или n

Отображает число с разделителя групп разрядов, хотя бы одну цифру слева и две цифры справа от десятичного разделителя.

Например Format(1234567, "n") возвращает 1,234,567.00.

Percent

Отображает число, умноженное на 100, со знаком процента (%), стоящим непосредственно справа, всегда отображает две цифры справа от десятичного разделителя.

Например Format(0.4744, "Percent") возвращает 47.44%.

P, или p

Отображает число с разделителем тысячи, умноженное на 100, со знаком процента (%), стоящим справа и отделенным от одного пробела, всегда отображает две цифры справа от десятичного разделителя.

Например Format(0.80345, "p") возвращает 80.35 %.

Scientific

Использует стандартное экспоненциальное представление чисел с указанием двух значащих цифр.

Например Format(1234567, "Scientific") возвращает 1.23E+06.

E, или e

Использует стандартное экспоненциальное представление чисел, предоставляя шесть значащих цифр.

Например Format(1234567, "e") возвращает 1.234567e+006.

D, или d

Отображает номер строки, содержащей значение числа в десятичном (на основе 10) формате. Этот параметр поддерживается для целых типов (Byte, Short, Integer, Long) только.

Например Format(&H7F, "d") возвращает 127.

X, или x

Отображает номер строки, содержащей значение числа в шестнадцатеричном (на основе 16) формате. Этот параметр поддерживается для целых типов (Byte, Short, Integer, Long) только.

Например Format(127, "x") возвращает 7f.

Yes/No

Отображает No Если число равно 0; в противном случае, Yes.

Например Format(0, "Yes/No") возвращает No.

True/False

Отображает False Если число равно 0; в противном случае, True.

Например Format(1, "True/False") возвращает True.

On/Off

Отображает Off Если число равно 0; в противном случае, On.

Например Format(1, "On/Off") возвращает On.

Yes/No, True/False, И On/Off форматы не поддерживаются.

В следующей таблице перечислены символы, которые можно использовать для создания пользовательских числовых форматов. Их можно использовать для построения Style аргумент для Format функции:

Знак

Описание

Нет

Отображает число без форматирования.

(0)

Заполнитель цифры. Отображает цифру или ноль. Если выражение содержит цифру в позиции, где в строке формата стоит ноль, откройте его; в противном случае — нулю в этой позиции.

Если количество цифр меньше, чем нулей (с обеих сторон от десятичного разделителя) в выражении форматирования, выводится с начальными либо конечными нулями. Если число имеет больше разрядов справа от десятичного разделителя, чем нулей справа от десятичного разделителя в выражении форматирования, округление до количества десятичных разрядов, сколько нулей. Если число имеет больше цифр слева от десятичного разделителя, чем нулей слева от десятичного разделителя в выражении форматирования, лишние цифры без изменения отображаются.

(#)

Заполнитель цифры. Отображает цифру или ничего. Если выражение содержит цифру в позиции, где # в строке формата стоит знак отображается; в противном случае — ничего не выводит в этой позиции.

Этот символ действует как 0 заполнитель цифры, за исключением того, что начальные и конечные нули не отображаются, если число имеет меньше разрядов, чем существует # символов слева от десятичного разделителя в выражении форматирования.

(.)

Десятичный разделитель. Определяет, сколько разрядов отображается слева и справа от десятичного разделителя. Если выражение формата содержит только # символов слева от этого символа, числа меньше 1 начинаются с десятичного разделителя. Чтобы отобразить в дробных числах отображался начальный ноль, укажите ноль в качестве первого цифрового заполнителя слева от десятичного разделителя. В некоторых региональных стандартах в качестве десятичного разделителя используется запятая. Фактический символ, используется в качестве десятичного заполнителя в отформатированном значении, зависит от числового формата, распознаваемого системой. Таким образом следует использовать период в качестве десятичного заполнителя в собственных форматах даже при работе в языковом стандарте, использующих запятую в качестве десятичного заполнителя. Отформатированная строка будет отображаться в формате для языкового стандарта.

(%)

Заполнитель процента. Умножает выражение на 100. Символ процента (%) вставляется в позицию, где он отображается в строке формата.

(,)

Разделитель групп разрядов. Разделитель групп разрядов отделяет тысячи от сотен в числе с четырьмя или более разрядами слева от десятичного разделителя. Указанный стандартном использовании разделителя групп разрядов Если формат содержит разделитель тысяч, заполнители цифр (0 или #).

Разделитель групп разрядов слева от десятичного разделителя (ли указан десятичное число) или крайним правым символов в строке, это означает «масштабирование числа путем деления его на 1 000 округления при необходимости.» Числа меньше 1 000, но больше или равно 500 отображаются как 1, а числа меньше 500 отображаются как 0. Два смежных разделителя групп разрядов в этой позиции масштабирования с коэффициентом 1 миллион и дополнительный фактор 1 000 за каждый дополнительный разделитель.

Несколько разделителей в любой позиции, кроме позиции непосредственно слева от десятичного разделителя или конечной позиции в строке, обрабатываются просто как разделители групп разрядов. В некоторых регионах точку используется как десятичный разделитель. Фактический символ, используется в качестве разделителя групп разрядов в отформатированном значении, зависит от числового формата, распознаваемого системой. Таким образом вам следует использовать запятую как разделитель групп разрядов в собственных форматах даже при работе в языковом стандарте, используется период в качестве разделителя тысяч. Отформатированная строка будет отображаться в формате для языкового стандарта.

Например рассмотрим следующие три строки форматирования:

  • "#,0.", который использует разделитель тысяч для форматирования числа 100 миллионов в строку «100,000,000».

  • "#0,.", которая использует деление на тысячу для форматирования числа 100 миллионов в строку «100000».

  • "#,0,.", который использует разделитель тысяч и деление на тысячу для форматирования числа 100 миллионов в строку «100,000».

(:)

Разделитель компонентов времени. В некоторых регионах разделителя времени могут использоваться другие символы. Разделитель компонентов времени разделяет часы, минуты и секунды при форматировании значений времени. Фактический символ, используемый в качестве разделителя времени в отформатированном значении, определяется параметрами системы.

(/)

Разделитель компонентов даты. В некоторых регионах в качестве разделителя дат могут использоваться другие символы. Разделитель компонентов даты разделяет день, месяц и год при форматировании значений даты. Фактический символ, используемый в качестве разделителя дат в отформатированном значении, определяется параметрами системы.

(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 — код символа для обозначения кавычек ("«)).

Следующая таблица содержит некоторые образцы выражений форматирования для чисел. (Предполагается, что параметр языкового стандарта системы является английский (США)) Первый столбец содержит строки форматирования для Style аргумент Format функции; другие столбцы содержат результирующие выходные данные, если форматируемые данные имеют значение, заданное в заголовке столбца.

Формат (Style)

формат «5»

в формате «-5»

«0,5» в формате

Zero-length string ("")

5

-5

0.5

0

5

-5

1

0.00

5.00

-5.00

0.50

#,##0

5

-5

1

$#,##0;($#,##0)

$5

($5)

$1

$#,##0.00;($#,##0.00)

$5.00

($5.00)

$0.50

0%

500%

-500%

50%

0.00%

500.00%

-500.00%

50.00%

0.00E+00

5.00E+00

-5.00E+00

5.00E-01

0.00E-00

5.00E00

-5.00E00

5.00E-01

Ниже приведены стандартные Дата и имена в формате времени. Их можно использовать по имени в качестве аргумента стиля Format функции:

Название формата

Описание

General Date, или G

Отображает дату и время. Например, 3/12/2008 11:07:31 AM. Отображение даты определяется текущее значение языка и региональных параметров приложения.

Long Date, Medium Date или D

Отображает дату в соответствии с форматом даты в текущей культуре. Например, Wednesday, March 12, 2008.

Short Date, или d

Отображает дату в формате короткой даты в текущей культуре. Например, 3/12/2008.

d Символ отображает день в формате даты, определяемой пользователем.

Long Time, Medium Time или T

Отображает время, используя текущую культуру длинный формат времени; обычно включает часы, минуты и секунды. Например, 11:07:31 AM.

Short Time или t

Отображает время, используя текущую культуру краткий формат времени. Например, 11:07 AM.

t Отображает символ AM или PM значения для языков, использующих 12-часовой формат времени, определяемого пользователем.

f

Отображает длинный формат даты и короткое время в соответствии с форматом в текущей культуре. Например, Wednesday, March 12, 2008 11:07 AM.

F

Отображает длинный формат даты и время в соответствии с форматом в текущей культуре. Например, Wednesday, March 12, 2008 11:07:31 AM.

g

Отображает краткий формат даты и короткое время в соответствии с форматом в текущей культуре. Например, 3/12/2008 11:07 AM.

M, m

Отображает месяц и день даты. Например, March 12.

M Символ отображает месяц в формате даты, определяемой пользователем. m Символ Отображает минуты в формате времени, определяемого пользователем.

R, r

Форматирует дату в соответствии с RFC1123Pattern свойство. Например, Wed, 12 Mar 2008 11:07:31 GMT. Форматированные даты не изменяется значение даты и времени. Значение даты и времени по Гринвичу следует настроить перед вызовом метода Format функции.

s

Форматирует дату и время в виде сортируемого индекса. Например, 2008-03-12T11:07:31.

s Символ Отображает секунды в формате времени, определяемого пользователем.

u

Форматирует дату и время в виде сортируемого индекса GMT. Например, 2008-03-12 11:07:31Z.

U

Форматы даты и времени с даты и время в качестве GMT. Например, Wednesday, March 12, 2008 6:07:31 PM.

Y, y

Форматирует дату как год и месяц. Например, March, 2008.

Y И y символов отображают год в формате даты, определяемой пользователем.

Дополнительные сведения о приложения текущего языка и региональных параметров в разделе Влияние языка и региональных параметров на строки в Visual Basic.

Ниже приведены символы, которые можно использовать для создания форматов даты и времени, определяемого пользователем. В отличие от более ранних версиях Visual Basic, эти символы форматирования зависят от регистра.

Знак

Описание

(:)

Разделитель компонентов времени. В некоторых регионах разделителя времени могут использоваться другие символы. Разделитель компонентов времени разделяет часы, минуты и секунды при форматировании значений времени. Фактический символ, используемый в качестве разделителя времени в отформатированном значении определяется текущее значение языка и региональных параметров приложения.

(/)

Разделитель компонентов даты. В некоторых регионах в качестве разделителя дат могут использоваться другие символы. Разделитель компонентов даты разделяет день, месяц и год при форматировании значений даты. Фактический символ, используемый в качестве разделителя дат в отформатированном значении определяется язык и региональные параметры текущего приложения.

(%)

Используется для указания, что следующий за ним символ должен считываться как однобуквенный формат без учета замыкающих букв. Также используется для указания, что однобуквенный формат читается как определенный пользователем формат. В разделе ниже для получения дополнительной информации.

d

Отображает день в виде числа без нуля в начале (например, 1). Используйте %d если это единственный знак в определяемых пользователем числовом формате.

dd

Отображает день в виде числа с ведущими нулями (например, 01).

ddd

Вывод сокращенного названия дня (например, Sun).

dddd

Отображает день в виде полного имени (например, Sunday).

M

Отображает месяц в виде числа без нуля в начале (например, январь отображается как 1). Используйте %M если это единственный знак в определяемых пользователем числовом формате.

MM

Отображает месяц в виде числа с нулем в начале (например, 01/12/01).

MMM

Вывод сокращенного названия месяца (например, Jan).

MMMM

Отображает полное название месяца (например, January).

gg

Отображает строку эры (например, A.D.).

h

Выводит часы в виде числа без нулей в 12-часовом формате (например, 1:15:15 PM). Используйте %h если это единственный знак в определяемых пользователем числовом формате.

hh

Выводит часы в виде числа с ведущими нулями в 12-часовом формате (например, 01:15:15 PM).

H

Выводит часы в виде числа без нулей в 24-часовом формате (например, 1:15:15). Используйте %H если это единственный знак в определяемых пользователем числовом формате.

HH

Выводит часы в виде числа с ведущими нулями в 24-часовом формате (например, 01:15:15).

m

Отображает минуты в виде числа без ведущих нулей (например, 12:1:15). Используйте %m если это единственный знак в определяемых пользователем числовом формате.

mm

Отображает минуты в виде числа с ведущими нулями (например, 12:01:15).

s

Отображает секунды как число без нулей (например, 12:15:5). Используйте %s если это единственный знак в определяемых пользователем числовом формате.

ss

Отображает секунды в виде числа с ведущими нулями (например, 12:15:05).

f

Отображает доли секунды. Например ff отображает сотые доли секунды, а ffff отображает десятитысячные доли секунды. Можно использовать до семи f символов в определяемом пользователем формате. Используйте %f если это единственный знак в определяемых пользователем числовом формате.

t

Использует 12-часовой формат и отображает A для любого часа до полудня отображает P для любого часа от полудня до 23:59. Используйте %t если это единственный знак в определяемых пользователем числовом формате.

tt

Для языков, использующих 12-часовой формат, отображает AM времени до полудня отображает PM при выводе времени с полудня до 23:59.

Для языков, использующих 24-часовом формате, ничего не выводит.

y

Отображает число года (0-9) без предшествующих нулей. Используйте %y если это единственный знак в определяемых пользователем числовом формате.

yy

Отображает год в числовом формате двух цифр с нулем в начале, если применимо.

yyy

Отображает год в числовом формате из четырех цифр.

yyyy

Отображает год в числовом формате из четырех цифр.

z

Выводит Сдвиг часового пояса без нуля в начале (например, -8). Используйте %z если это единственный знак в определяемых пользователем числовом формате.

zz

Выводит Сдвиг часового пояса с нулем в начале (например, -08)

zzz

Отображает полный Сдвиг часового пояса (например, -08:00)

Ниже приведены примеры пользовательских форматов даты и времени для December 7, 1958, 8:50 PM, 35 seconds:

Формат

Отображение

M/d/yy

12/7/58

d-MMM

7-Dec

d-MMMM-yy

7-December-58

d MMMM

7 December

MMMM yy

December 58

hh:mm tt

08:50 PM

h:mm:ss t

8:50:35 P

H:mm

20:50

H:mm:ss

20:50:35

M/d/yyyy H:mm

12/7/1958 20:50

Минимальный квант времени устройства определяется производителем устройства. Если квант времени для данного устройства достаточно грубым f символ формата возвращает 0 при запуске на этом устройстве.

В этом примере показаны различные способы использования Format функции для форматирования значений с помощью обоих String форматы и форматы, определенные пользователем. В качестве разделителя даты (/), разделитель компонентов времени (:) и индикаторов AM/PM (t и tt), Фактическое отображение системой зависит от региональных параметров, используя код. Если время и даты отображаются в среде разработки, используются краткий формат времени и даты языкового стандарта кода.

System_CAPS_noteПримечание

Для языков, использующих 24-часовом формате, индикаторы AM/PM (t и tt) не отображаются.

Dim TestDateTime As Date = #1/27/2001 5:04:23 PM#

Dim TestStr As String

' Returns current system time in the system-defined long time format.

TestStr = Format(Now(), "Long Time")

' Returns current system date in the system-defined long date format.

TestStr = Format(Now(), "Long Date")

' Also returns current system date in the system-defined long date

' format, using the single letter code for the format.

TestStr = Format(Now(), "D")


' Returns the value of TestDateTime in user-defined date/time formats.

' Returns "5:4:23".

TestStr = Format(TestDateTime, "h:m:s")

' Returns "05:04:23 PM".

TestStr = Format(TestDateTime, "hh:mm:ss tt")

' Returns "Saturday, Jan 27 2001".

TestStr = Format(TestDateTime, "dddd, MMM d yyyy")

' Returns "17:04:23".

TestStr = Format(TestDateTime, "HH:mm:ss")

' Returns "23".

TestStr = Format(23)


' User-defined numeric formats.

' Returns "5,459.40".

TestStr = Format(5459.4, "##,##0.00")

' Returns "334.90".

TestStr = Format(334.9, "###0.00")

' Returns "500.00%".

TestStr = Format(5, "0.00%")



.NET Framework
Доступно с 1.1
Silverlight
Доступно с 2.0

Так же в этом разделе:
 
MyTetra Share v.0.52
Яндекс индекс цитирования