что такое форматная строка
Что такое форматная строка
Вступайте в мою группу помощник программиста.
В ней мы обсуждаем программирование в 1С.
Формат
Описание:
Формирует удобное для чтения представление значений. Полезно использование в отчетах и при прочем визуальном отображении значений.
Синтаксис:
Параметры:
Форматная строка представляет собой строковое значение, включающее параметры форматирования.
Параметры форматирования перечисляются через символ «;». Наличие параметра означает отличие форматирования от стандартного.
Если параметр не задан, то применяется стандартное форматирование, которое в основном соответствует преобразованию значения к строке. Однако для значений типа Число и Дата по умолчанию (0 и 01.01.0001 00:00:00 соответственно) будет выдаваться пустая строка.
Каждый параметр задается именем параметра, символом «=» и значением параметра. Значение параметра может указываться в одинарных или двойных кавычках. Это необходимо, если значение параметра содержит символы, используемые в синтаксисе форматной строки.
Внутри значения параметра могут указываться произвольные символы, которые при формировании результирующей строки будут отображаться как есть. Таким образом, например, можно указывать разделители часов, минут и секунд при форматировании времени. Если эти символы совпадают со значениями форматной строки, их необходимо заключать в одинарные кавычки.
Имена и значения параметров форматной строки:
Форматированный вывод. Функция printf
Пожалуйста, приостановите работу AdBlock на этом сайте.
Общий синтаксис функции printf следующий:
Рис.1. Общий синтаксис функции printf.
Напоминаю, что параметрами называется то, что мы записываем рядом с именем функции в круглых скобках.
Кроме обязательной строки форматирования есть и необязательные параметры. Они пишутся через запятую после формат-строки.
Формат-строка.
Еscape-последовательности
Часто используемые escape-последовательности:
Как видите, последние четыре последовательности нужны лишь для того, чтобы вывести на экран символы «»», «’», «\» и «?». Дело в том, что если эти символы просто записать в формат-строку, то они не отобразятся на экране, а в некоторых случаях программа и вовсе не скомпилируется.
Следующая программа иллюстрирует работу escape-последовательностей.
Хотя escape-последовательности состоят из нескольких символов, но в потоке вывода они воспринимаются как цельный символ, который имеет своё собственное значение.
Итого, используя управляющие последовательности мы можем влиять на то, как данные будут выводиться на экране.
Спецификаторы формата.
Для каждого типа данных есть свой спецификатор формата. Ниже записаны основные из них.
Основные спецификаторы формата:
Есть и другие спецификаторы формата. Мы познакомимся с ними тогда, когда они нам понадобятся.
Сами спецификаторы формата на экран не выводятся. Вместо них выводятся данные, которые передаются в функцию printf после строки форматирования.
Функция printf работает следующим образом. Все символы, заключенные в двойные кавычки, кроме управляющих последовательностей и спецификаторов формата, выводятся на экран. Спецификаторы формата во время вывода заменяются на значения, указанные после формат-строки. Причем, если используется несколько спецификаторов формата, то первый спецификатор заменяется на первое значение, расположенное после формат строки, второй – на второе, и т.д.
Посмотрим на примерах.
Рис.2 Вывод Листинг 2.
Рис.3 Вывод Листинг 3.
Рис.4 Вывод Листинг 4.
Рис.5 Вывод Листинг 5.
Рис.6 Принцип работы функции printf.
По сути, формат строка задаёт некоторый трафарет(шаблон), в который подставляются данные для вывода, в том порядке, в котором они указаны.
Напишем небольшую программу, которая иллюстрирует использование спецификаторов формата.
Модификаторы формата.
Модификаторы формата записываются между символом % и буквой используемого типа. На рисунке ниже представлена спецификатор формата с использованием модификатора формата.
Рис.7 Модификатор формата
Первое число обозначает ширину поля, выделяемого для записи числа. Второе число обозначает точность, с которой мы хотим вывести данное вещественное число.
В примере на картинке под вещественное число мы выделяем 8 символов и хотим видеть 3 знака после запятой.
Если указанного в ширине количества позиций нам не хватает для вывода числа, то ширина поля увеличивается автоматически, до минимально-возможного количества позиций.
Для иллюстрации описанных возможностей модификаторов формата, напишем небольшую программу.
Результат работы данной программы представлен на рисунке ниже.
Рис.8 Вывод Листинг 8.
Я специально поставил вокруг каждого числа прямые черточки, что можно было увидеть, что означает ширина поля для вывода и как работает выравнивание по левому краю.
Да, чуть не забыл. Мы решили одну из задач, которая стояла перед нами в начале урока.
Практика
Решите предложенные задачи. Для удобства работы сразу переходите в полноэкранный режим
Исследовательские задачи для хакеров:
Дополнительные материалы
Оставить комментарий
Чтобы код красиво отображался на странице заключайте его в теги [code] здесь писать код [/code]
Комментарии
В степике компилятор настроен так, что всем неинициализированным переменным устанавливает значение 0.
На такое поведение надеяться не стоит. В общем случае в переменной будет не нуль, а непонятно что (мусор).
Размещу естественным путем (то есть вручную) на общетематических, форумах уникальные сообщения (посты) с ключевым словом и ссылкой на Ваш сайт. Размером от 200 знаков.
Даю 30 дней гарантии. Если в течение этого времени будет удалена какая либо ссылка, я её заменю.
Ссылки будут размещаться на проверенных форумах в наиболее подходящих разделах общетематических форумов.
Что дает такое размещение?
— Рост позиций вашего сайта в Google по ключевому слову.
— Вычные ссылки
— Дополнительные тематические источники трафика
— Разбавление ссылочной массы
— Тематический трафик на Ваш сайт
Заказав тариф «БИЗНЕС», Вы уже через месяц увидете результат.
Это может быть как повышения трафика, повышение позиций Вашего сайта в Google, увелечение продаж и так далее.
Заказать и ознакомиться с тарифами Вы сможете перейдя по ссылке: (Ссылка ведет на биржу kwork)
Для примера:
— Ссылки с 60 форумов Украина. Создание топиков. http://gg.gg/ukr_links2
— Ссылки с 60 форумов Франции. Создание топиков. http://gg.gg/french-links
— Ссылки с 60 форумов Германии. Создание топиков. http://gg.gg/germany-links
Обращайтесь по контактам: Telegram @eTraffik
I will post in a natural way (that is, manually) on general forums, unique messages (posts) with a keyword and a link to your site. Size from 200 characters.
I give a 30-day guarantee. If any link is removed during this time, I will replace it.
Links will be posted on verified forums in the most appropriate sections of general forums.
What does this placement give?
— Growth of positions
Программирование в 1С для всех
В этой статье мы научимся работать с форматированной строкой. Форматированная строка позволяет разукрасить Ваше 1С приложение.
С её помощью вы сможете показать вот такой вопрос
Или вот такое предупреждение
Сейчас мы научимся с ней работать.
И первым делом научимся создавать самую простую форматированную строку, делается это при помощи конструктора Новый.
В самом простом виде форматированная строка будет выглядеть так:
В этом случае она ни чем не будет отличаться от обычной строки.
Ознакомимся с её синтаксисом. У форматированной строки, два вида конструктора.
Конструктор первый:
Новый ФорматированнаяСтрока( )
Где Содержимое 1 и т.д это или строка, или форматированная строка, или картинка или массив, который должен состоять из строки, форматированной строки или картинки.
Поскольку к форматированной строке, в отличие от обычной строки, нельзя применить операцию конкатенации (сложение строк), то складывать форматированные строки можно при помощи конструктора второго вида.
Научимся работать с форматированными строками. Для этого создадим обработку, создадим команду, и в обработчике команды на клиенте будем писать наши эксперименты.
Напишем, простой вариант форматированной строки:
В этом случае наше предупреждение ни чем не будет отличаться от предупреждения с обычной строкой.
Изменим цвет, но попробуем не просто написать какой-то цвет, а взять цвет из стиля. Дело в том, что тип ЦветСтиля доступен только на сервере, поэтому нам придется использовать безконтекстный серверный вызов.
В этом случае код будет следующим
И результат его работы:
Пойдем дальше, добавим еще и шрифт, тоже возьмем его из стиля, а потом немного подправим: подчеркнем.
Результат будет следующий:
Теперь научимся объединять строки – создадим три разные строки, объединим и выведем в уже знакомом предупреждении.
Результат этого кода будет следующим:
А теперь вставим ссылку.
Точно так же можно вставить любую навигационную ссылку
Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»
Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.
Промо-код на скидку в 15% — 48PVXHeYu
Если Вам помог этот урок решить какую-нибудь проблему, понравился или оказался полезен, то Вы можете поддержать мой проект, перечислив любую сумму:
можно оплатить вручную:
Яндекс.Деньги — 410012882996301
Web Money — R955262494655
Форматная строка в программе 1С:Предприятие 8
Предоставляя данные пользователю, мы не должны забывать о его требованиях. Программист должен помнить, зачем и для чего он делает те или иные вещи.
Когда фирма использует программу 1С:Предприятие 8 и вносит в базу различные данные, то впоследствии возникает необходимость в понимании результатов своей работы. Для этого существуют отчеты. Но насколько этот отчет полон, ясен, удобен и информативен?
Чем больше данных в отчете, тем более исчерпывающая информация. Но если с этим переборщить, то отчет становится «нечитаемым» и неинформативным. В данном случае программист должен найти компромисс, откинув ненужную информацию или систематизировав ее таким образом, чтобы куча значений приобрела определенную структуру или определённый формат, который даст возможность пользователю не только получать данные, но и легко их анализировать.
Помимо отчетов форматирование в 1С довольно часто используется в документах, где какие-либо реквизиты могут принимать множество значений (но все строго определенного формата). Также формат используется в печатных формах, ведь при выводе данных после расчетов нередко случается так, что числа обладают избыточной точностью.
1. Что такое функция Формат в программе 1С Предприятие 8
В результате работы данной функции получается строка, соответствующая заданным правилам форматирования.
В первую очередь надо познакомиться с самой функцией. Она имеет вид:
· Значение – значение, которое будет подвергнуто форматированию.
· Форматная строка – строковый параметр, с помощью которого задаются правила, по которым происходит форматирование 1С.
Зная синтаксис, с помощью этого мы уже можем производить форматирование в 1С. При этом программа 1С:Предприятие 8 реализовала удобный конструктор форматной строки. С его помощью можно быстро создать форматирование, без риска ошибок синтаксиса и с возможностью проверки того, что получится в результате.
2. Применение Конструктора форматной строки
Конструктор форматной строки вызывается из контекстного меню. Перед нами появляется форма.
Конструктор имеет три вкладки, каждая из них предназначена для работы со своим типом данных в 1С. На каждой вкладке сазу виден функционал 1С, с помощью сочетания возможностей которого можно получить тот результат, который нужен именно Вам. Не менее важно то, что в конструкторе представлено поле «Пример», где можно сразу увидеть, какой вид будут понимать данные после форматирования. После нажатия кнопки «ОК» сформируется форматная строка, которую таким же образом можно будет изменить.
Строки стандартных числовых форматов
A — это один буквенный символ, который называют описателем формата. Любая строка числового формата, содержащая более одной буквы, включая пробелы, интерпретируется как строка настраиваемого числового формата. Дополнительные сведения см. в разделе Строки настраиваемых числовых форматов.
xx — это необязательное целое число, которое называют описателем точности. Спецификатор точности находится в диапазоне от 0 до 99 и влияет на число цифр в результате. Описатель точности управляет количеством цифр в строковом представлении числа. Он не округляет само число. Для выполнения операции округления используйте метод Math.Ceiling, Math.Floor или Math.Round.
Когда указатель точности ограничивает число цифр дробной части в итоговой строке, числа в итоговых строках округляются до представимого результата, ближайшего к бесконечно точному. Если имеются два одинаково близких представимых результата:
Описатель точности определяет число цифр в результирующей строке. Чтобы заполнить строку результата начальными или конечными пробелами, используйте функцию составного форматирования и определите компонент выравнивания в элементе форматирования.
Строки стандартных числовых форматов поддерживаются в следующих сценариях.
Некоторые перегрузки метода ToString для всех числовых типов. Например, можно задать строку числового формата для методов Int32.ToString(String) и Int32.ToString(String, IFormatProvider).
Интерполированные строки в C# и Visual Basic, которые предоставляют упрощенный синтаксис по сравнению со строками составного формата.
В следующей таблице приведены описатели стандартного числового формата и примеры выходных данных, формируемых каждым описателем формата. Дополнительные сведения о использовании строк стандартных числовых форматов см. в разделе Примечания. Обширную демонстрацию их использования см. в разделе Пример.
Описатель формата | name | Описание | Примеры | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
«C» или «c» | Валюта | Результат: ; значение валюты. Поддерживается в: все числовые типы. Описатель точности: число десятичных разрядов. Описатель точности по умолчанию: Определяется в NumberFormatInfo.CurrencyDecimalDigits. Поддерживается в: только целочисленные типы. Описатель точности: минимальное число разрядов. Описатель точности по умолчанию: минимальное требуемое число разрядов. Поддерживается в: все числовые типы. Описатель точности: число десятичных разрядов. Описатель точности по умолчанию: 6. Поддерживается в: все числовые типы. Описатель точности: число десятичных разрядов. Описатель точности по умолчанию: Определяется в NumberFormatInfo.NumberDecimalDigits. Поддерживается в: все числовые типы. Описатель точности: количество значащих цифр. Описатель точности по умолчанию: зависит от числового типа. Поддерживается в: все числовые типы. Описатель точности: желаемое число десятичных разрядов. Описатель точности по умолчанию: Определяется в NumberFormatInfo.NumberDecimalDigits. Поддерживается в: все числовые типы. Описатель точности: желаемое число десятичных разрядов. Описатель точности по умолчанию: Определяется в NumberFormatInfo.PercentDecimalDigits. Примечание. Мы рекомендуем использовать только для типа BigInteger. Для типов Double используйте «G17», а для типов Single — «G9». Поддерживается в: только целочисленные типы. Описатель точности: число цифр в результирующей строке. Использование строк стандартных числовых форматовПримеры C# в этой статье выполняются во встроенном средстве выполнения кода и на площадке Try.NET. Нажмите на кнопку Выполнить, чтобы выполнить пример в интерактивном окне. После выполнения кода вы можете изменить его и выполнить измененный код, снова нажав на кнопку Выполнить. Либо в интерактивном окне выполняется измененный код, либо, если компиляция завершается с ошибкой, в интерактивном окне отображаются все сообщения об ошибках компилятора C#. Строку стандартного числового формата можно использовать для определения форматирования числового значения одним из двух следующих способов: Эту строку можно передать в качестве аргумента formatString в элемент форматирования, используемый с методами String.Format, Console.WriteLine и StringBuilder.AppendFormat. Дополнительные сведения см. в разделе Составное форматирование. В следующем примере элемент форматирования используется для вставки значения валюты в строку. Его можно предоставить в виде аргумента formatString в элементе интерполированного выражения интерполированной строки. Дополнительные сведения см. в разделе Интерполяция строк справочника по C# или разделе Интерполяция строк справочника по Visual Basic. В приведенных ниже разделах содержится подробная информация о всех строках стандартных числовых форматов. Описатель формата валюты («C»)При использовании описателя формата валюты («C») число преобразуется в строку, представляющую сумму в некоторой валюте. Желаемое количество знаков дробной части в результирующей строке задается описателем точности. Если описатель точности не задан, точность по умолчанию определяется свойством NumberFormatInfo.CurrencyDecimalDigits. Если форматируемое значение содержит больше десятичных знаков, чем задано или возможно по умолчанию, в результирующей строке дробное значение округляется. Если значение справа от заданного числа десятичных знаков больше или равно 5, последний знак в результирующей строке округляется в сторону от нуля. Форматирование результирующей строки определяется сведениями о форматировании в текущем объекте NumberFormatInfo. В следующей таблице представлены свойства NumberFormatInfo, обеспечивающие управление форматированием возвращаемой строки.
В следующем примере значение Double форматируется с помощью описателя денежного формата: Описатель десятичного формата («D»)При использовании описателя десятичного формата («D») число преобразуется в строку, состоящую из десятичных цифр (0–9); если число отрицательное, перед ним ставится отрицательный знак. Этот формат доступен только для целых типов. Минимальное количество знаков в выходной строке задается спецификатором точности. Недостающие знаки в строке заменяются нулями. Если описатель точности не задан, по умолчанию используется минимальное значение, позволяющее представить целое число без нулей в начале. Форматирование результирующей строки определяется сведениями о форматировании в текущем объекте NumberFormatInfo. Как показано в следующей таблице, управление форматированием результирующей строки осуществляется с помощью одного свойства.
В следующем примере значение Int32 форматируется с помощью описателя десятичного формата. Описатель экспоненциального формата («E»)При использовании описателя экспоненциального формата («E») число преобразуется в строку вида «-d.ddd…E+ddd» или «-d.ddd…e+ddd», где каждый символ «d» обозначает цифру (0–9). Если число отрицательное, в начале строки ставится отрицательный знак. Перед разделителем целой и дробной части всегда стоит ровно одна цифра. Требуемое число знаков дробной части задается спецификатором точности. Если спецификатор точности отсутствует, по умолчанию число знаков дробной части равно шести. Регистр описателя формата задает регистр буквы, стоящей перед экспонентой («E» или «e»). Экспонента состоит из знака «плюс» или «минус» и трех цифр. Недостающие до минимума цифры заменяются нулями, если это необходимо. Форматирование результирующей строки определяется сведениями о форматировании в текущем объекте NumberFormatInfo. В следующей таблице представлены свойства NumberFormatInfo, обеспечивающие управление форматированием возвращаемой строки.
В следующем примере значение Double форматируется с помощью описателя экспоненциального формата. Описатель формата с фиксированной запятой («F»)При использовании описателя формата с фиксированной запятой («F») число преобразуется в строку вида «-ddd.ddd…», где каждый символ «d» обозначает цифру (0–9). Если число отрицательное, в начале строки ставится отрицательный знак. Требуемое число знаков дробной части задается спецификатором точности. Если описатель точности отсутствует, то используется численная точность, определяемая текущим значением свойства NumberFormatInfo.NumberDecimalDigits. Форматирование результирующей строки определяется сведениями о форматировании в текущем объекте NumberFormatInfo. В следующей таблице представлены свойства объекта NumberFormatInfo, обеспечивающие управление форматированием результирующей строки.
В следующем примере значение Double и значение Int32 форматируются с помощью описателя формата с фиксированной точкой. Описатель общего формата («G»)При использовании описателя общего формата («G») число преобразуется в более короткий из двух вариантов: запись с фиксированной запятой или экспоненциальная запись. При этом учитывается тип числа и наличие описателя точности. Описатель точности определяет максимальное количество значащих цифр, которые могут быть использованы в результирующей строке. Если описатель точности не задан или равен нулю, точность определяется типом числа, как показано в следующей таблице.
Нотация с фиксированной запятой используется, если экспонента результата в экспоненциальной нотации длиннее пяти знаков, но меньше спецификатора точности, в противном случае используется научная нотация. При необходимости результат содержит разделитель целой и дробной частей; нули в конце дробной части после разделителя отбрасываются. Если описатель точности задан и число значащих цифр результата превосходит указанное значение точности, лишние цифры отбрасываются округлением. Тем не менее, если число относится к типу Decimal и описатель точности не задан, всегда используется нотация с фиксированной запятой, а нули в конце не отбрасываются. Если используется экспоненциальная нотация, регистр буквы, стоящей перед экспонентой, определяется регистром описателя формата (буква «E» соответствует «G», «e» соответствует «g»). Экспонента содержит не менее двух цифр. Это отличает данный формат от экспоненциальной записи, создаваемой при использовании описателя экспоненциального формата, поскольку в последнем случае экспонента содержит не менее трех цифр. Обратите внимание, что при использовании совместно со значением Double описатель формата G17 гарантирует обратимость преобразования исходного значения Double. Это связано с тем, что Double совместим со стандартом IEEE 754-2008 для чисел двойной точности ( binary64 ) с плавающей запятой, в котором определена точность до 17 значащих цифр. Мы рекомендуем использовать этот формат вместо описателя формата «R», который в некоторых случаях не гарантирует обратимость преобразования чисел двойной точности с плавающей запятой. В следующем примере представлен один такой случай. При использовании со значением Single описатель формата G9 гарантирует обратимость преобразования исходного значения Single. Это связано с тем, что Single совместим со стандартом IEEE 754-2008 для чисел одиночной точности ( binary32 ) с плавающей запятой, в котором определена точность до 9 значащих цифр. Из соображений производительности рекомендуется использовать его вместо описателя формата «R». Форматирование результирующей строки определяется сведениями о форматировании в текущем объекте NumberFormatInfo. В следующей таблице представлены свойства NumberFormatInfo, обеспечивающие управление форматированием результирующей строки.
В следующем примере различные значения с плавающей запятой форматируются с помощью описателя общего формата. Описатель числового формата («N»)Спецификатор числового формата («N») преобразует число в стоку вида «-d,ddd,ddd.ddd… «, где знак «-» при необходимости представляет знак отрицательного числа, знак «d» означает цифру (0-9), знак «,» — разделитель групп, а знак «.» —- разделитель целой и дробной части. Требуемое число знаков дробной части задается спецификатором точности. Если описатель точности не задан, число десятичных знаков определяется текущим свойством NumberFormatInfo.NumberDecimalDigits. Форматирование результирующей строки определяется сведениями о форматировании в текущем объекте NumberFormatInfo. В следующей таблице представлены свойства NumberFormatInfo, обеспечивающие управление форматированием результирующей строки.
В следующем примере различные значения с плавающей запятой форматируются с помощью описателя числового формата. Описатель формата процента («P»)При использовании описателя формата процента («P») число умножается на 100 и преобразуется в строку, представляющую процентную долю. Требуемое число знаков дробной части задается спецификатором точности. Если описатель точности отсутствует, то используется значение точности числа по умолчанию, заданное свойством PercentDecimalDigits. В следующей таблице представлены свойства NumberFormatInfo, обеспечивающие управление форматированием возвращаемой строки.
В следующем примере значения с плавающей запятой форматируются с помощью описателя процентного формата. Описатель формата обратного преобразования («R»)Описатель формата обратного преобразования («R») пытается выполнить преобразование числового значения в строку так, чтобы при обратном преобразовании этой строки можно было получить то же самое числовое значение. Этот формат поддерживается только для типов Single, Double и BigInteger. Для значений Double описатель формата «R» в некоторых случаях не может гарантировать правильное обратное преобразование. Для значений Double и Single он также обеспечивает относительно низкую производительность. Вместо него мы рекомендуем использовать описатель формата G17 для значений Double и описатель формата G9 для значений Single, которые гарантируют правильное обратное преобразование. Если с помощью этого описателя форматируется значение типа BigInteger, то его строковое представление будет содержать все значащие цифры BigInteger. Хотя описатель точности можно указать, он будет проигнорирован. Приведенные указатели приема-передачи в данном случае имеют преимущество перед указателем точности. Форматирование результирующей строки определяется сведениями о форматировании в текущем объекте NumberFormatInfo. В следующей таблице представлены свойства NumberFormatInfo, обеспечивающие управление форматированием результирующей строки.
В следующем примере форматируется значение BigInteger с применением спецификатора формата обратного преобразования. В некоторых случаях для значений Double, отформатированных с использованием строки стандартного числового формата «R», не удается успешно выполнить обратное преобразование при компиляции с использованием параметра /platform:x64 или /platform:anycpu и запуска в 64-разрядных системах. Дополнительные сведения см. в следующем абзаце. Чтобы избежать проблемы со значениями Double, отформатированными с использованием строки стандартного числового формата R, для которых не удалось выполнить обратное преобразование при компиляции с использованием параметра /platform:x64 или /platform:anycpu в 64-разрядных системах, можно отформатировать значения Double с помощью строки стандартного числового формата G17. В примере ниже используется строка формата «R» со значением Double, для которого не удается выполнить обратное преобразование, а также строка формата «G17» для успешного обратного преобразования исходного значения: Описатель шестнадцатеричного формата («X»)При использовании описателя шестнадцатеричного формата («X») число преобразуется в строку шестнадцатеричных цифр. Регистр шестнадцатеричных цифр больше 9 совпадает с регистром описателя формата. Например, чтобы получить запись «ABCDEF», задайте описатель X» или, наоборот, задайте описатель «x», чтобы получить «abcdef». Этот формат доступен только для целых типов. Минимальное количество знаков в выходной строке задается спецификатором точности. Недостающие знаки в строке заменяются нулями. Форматирование результирующей строки не зависит от сведений о форматировании в текущем объекте NumberFormatInfo. В следующем примере значения Int32 форматируются с помощью спецификатора шестнадцатеричного формата. ПримечанияНастройки панели управленияПараметры элемента панели управления Язык и региональные стандарты влияют на выходную строку, получаемую в результате операции форматирования. Эти параметры используются для инициализации объекта NumberFormatInfo, связанного с языком и региональными параметрами текущего потока, откуда берутся значения, используемые для управления форматированием. Результирующие строки будут различаться на компьютерах с разными параметрами. Свойства NumberFormatInfoНа форматирование влияют свойства текущего объекта NumberFormatInfo, который неявно определяется на основе языка и региональных параметров текущего потока или явно задается параметром IFormatProvider метода, который вызывает форматирование. Укажите объект NumberFormatInfo или объект CultureInfo для этого параметра. Дополнительные сведения о настройке шаблонов или строк, используемых в форматировании числовых значений см. статью о классе NumberFormatInfo. Целочисленные типы и типы с плавающей запятойНекоторые описания спецификаторов стандартных числовых форматов относятся к целочисленным типам и типам с плавающей запятой. Целочисленные типы — это Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64 и BigInteger. Числовыми типами с плавающей запятой являются Decimal, Single и Double. Бесконечности действительных чисел с плавающей запятой и NaNЕсли, вне зависимости от строки формата, значение типа с плавающей запятой Single или Double является положительной бесконечностью, отрицательной бесконечностью или не является числом (NaN), отформатированная строка будет содержать значение соответствующего свойства (PositiveInfinitySymbol, NegativeInfinitySymbol или NaNSymbol) применимого в настоящий момент объекта NumberFormatInfo. ПримерНекоторые примеры C# в этой статье выполняются во встроенном средстве выполнения кода и на тестовой площадке Try.NET. Нажмите на кнопку Выполнить, чтобы выполнить пример в интерактивном окне. После выполнения кода вы можете изменить его и выполнить измененный код, снова нажав на кнопку Выполнить. Либо в интерактивном окне выполняется измененный код, либо, если компиляция завершается с ошибкой, в интерактивном окне отображаются все сообщения об ошибках компилятора C#. В следующем примере с помощью языка и региональных параметров «en-US» и всех описателей стандартных числовых форматов форматируется целочисленное значение и числовое значение с плавающей запятой. В этом примере используются два числовых типа (Double и Int32), но аналогичные результаты были бы получены для любых других числовых типов (Byte, SByte, Int16, Int32, Int64, UInt16, UInt32, UInt64, BigInteger, Decimal и Single).
|