Каковы допустимые строки формата стиля для выражения служб Reporting Services [SSRS]?

Я пытаюсь выяснить строку стиля для функции Format (Expression as Object, Style as String) в выражении Reporting Services.

Я не могу найти, где задокументированы эти строки формата стиля!

В частности, я пытаюсь отформатировать поле «Цена», чтобы всегда было 2 десятичных знака.

т.е. 1,5 формата до $1,50


person Jon Erickson    schedule 28.05.2009    source источник
comment
Ответы хороши для вашего конкретного вопроса, но в целом вам следует избегать использования функции =Format() и вместо этого устанавливать формат в текстовом поле или заполнителе. Они будут принимать те же строки формата, что и Format(), но экспорт сохранит значение числа, а не преобразует его в строку. См. stackoverflow.com/questions/13180160/   -  person Jamie F    schedule 01.11.2012
comment
Да, нам, вероятно, не понадобилась бы функция Format(), если бы SSRS поддерживали условные выражения для форматов номеров полей.   -  person Baodad    schedule 10.05.2016


Ответы (5)


Форматировать строку формата Currency

=Format(Fields!Price.Value, "C")

Это даст вам 2 десятичных знака с префиксом «$».

Другие строки формата можно найти в MSDN: Добавление стиля и форматирования в отчет ReportViewer

Примечание. Статья MSDN была заархивирована в документе "VS2005_General", который больше не доступен напрямую в Интернете. Вот выдержка из упомянутых строк форматирования:

Форматирование чисел

В следующей таблице перечислены общие строки форматирования чисел .NET Framework.

Форматировать строку, имя

C или c Валюта

D или d Десятичный

Электронный или научный

F или f Фиксированная точка

G или g Общие

N или n номер

P или p Процент

R или r Туда и обратно

X или x Шестнадцатеричный

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

десятичная точка. Например, строка форматирования D0 форматирует число таким образом, чтобы в нем не было цифр после запятой. Ты

также можно использовать собственные строки форматирования, например, #,###.

Форматирование дат

В следующей таблице перечислены общие строки форматирования даты .NET Framework.

Форматировать строку, имя

г Короткое свидание

D Долгая дата

т короткое время

Т Долгое время

f Полная дата/время (короткое время)

F Полная дата/время (долгое время)

g Общая дата/время (короткое время)

G Общая дата/время (длительное время)

M или m День месяца

Шаблон R или r RFC1123

Y или y Год месяц

Вы также можете использовать собственные строки форматирования; например, дд/мм/гг. Дополнительные сведения о строках форматирования .NET Framework см. в разделе Типы форматирования.

person dance2die    schedule 28.05.2009
comment
Это правильный ответ на мой конкретный вопрос... Я пробовал это раньше, но у меня также была ошибка в моем коде, я поместил CStr() внутри функции Format. Мне пришлось изменить Format(CStr(Fields!Price.Value), C) на CStr(Format(Fields!Price.Value, C)) - person Jon Erickson; 29.05.2009
comment
@Jon: Вы используете Cstr() для добавления значения отформатированной цены к другой строке? - person dance2die; 29.05.2009
comment
NB: Если вам нужна местная валюта, убедитесь, что вы правильно установили свойство Language самого отчета, например. если у вас установлен язык отчета en-GB, тогда строка форматирования валюты C даст вам £, а не $. - person Matt Gibson; 16.12.2015

Как уже упоминалось, вы можете использовать:

=Format(Fields!Price.Value, "C")

Цифра после «C» указывает точность:

=Format(Fields!Price.Value, "C0")
=Format(Fields!Price.Value, "C1")

Вы также можете использовать ссылку маски в стиле Excel, например:

=Format(Fields!Price.Value, "#,##0.00")

Последний не проверял, но идея есть. Также работает с датами:

=Format(Fields!Date.Value, "yyyy-MM-dd")
person Peter Radocchia    schedule 04.06.2009
comment
Спасибо Питер! Мне нужно было отобразить до 4 знаков после запятой, поэтому я смог использовать предложенную вами маску. =Формат(Поля!ставка.Значение, $###,###,##0.00##) - person msmucker0527; 03.02.2012

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

  1. Щелкните ячейку правой кнопкой мыши и выберите пункт Свойства текстового поля.
  2. Выберите «Число» и в поле «Категория» нажмите «Валюта».

введите здесь описание изображения

person LCJ    schedule 02.10.2018

Вы можете проверить схему по адресу http://schemas.microsoft.com/sqlserver/reporting/2005/01/reportdefinition/ReportDefinition.xsd

Найдите xsd:complexType name="StyleType"

Это перечислит все возможные стили, которые вы можете использовать.

Однако в зависимости от вашего вопроса вы можете использовать стиль формата.

Формат

Specify the data format to use for values that appear in the textbox.

Допустимые значения включают «По умолчанию», «Число», «Дата», «Время», «Процент» и «Валюта».

Ссылка на MSDN: http://msdn.microsoft.com/en-us/library/ms251684(VS.80).aspx

person jgallant    schedule 28.05.2009
comment
+1 за хорошие ссылки. Я не использую функцию Format(), а вместо этого помещаю коды в текстовое поле Number -> Format во время разработки и нигде не могу найти список кодов! - person Mike K; 18.01.2013

Укажите значение строки формата C2 для свойств значения, как показано на рисунке ниже.

введите здесь описание изображения

person Merin Nakarmi    schedule 18.06.2014