форматировать номер в отчете ssrs - PullRequest
8 голосов
/ 22 марта 2011

Argh!

Не могу этого вынести, я сам не могу понять ...

Я использовал это для форматирования числа в моем отчете:

'€' #,0.00;('€' #,0.00)

и форматирует до € 1,212,89

что не совсем то, что я хочу, потому что я хочу € 1,212,89 независимо от региональных настроек сервера.

Итак, я попробовал это

'€' #.0,00;('€' #.0,00)

но это дает мне это: 1.212.890

Набрав это, я понимаю, что не знаю, что такое # и. и, значит, в строке формата .....

Ответы [ 6 ]

8 голосов
/ 23 марта 2011

Вы можете найти определение динамического поведения запятой и точки здесь: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

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

= (new Decimal(11123.55)).ToString("€#,0.00;(€#,0.00)",
        new System.Globalization.CultureInfo("es-ES"))

Это всегда будет использовать запятую как десятичную, а точка - как миллионы, тысячи и т.

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

5 голосов
/ 07 июля 2016

Я знаю, что это старая тема, но в случае, если кому-то это нужно, есть самый простой и правильный способ сделать это:

  1. Щелкните правой кнопкой мыши на текстовом поле вашего выражения
  2. Выберите «Число» во всплывающем окне «Свойства текстового поля»
  3. В «Категории» выберите «Число»
  4. Отметьте «Использовать разделитель 1000»
  5. НажмитеОК

Чтобы «настроить» свой «разделитель 1000»:

  1. Выберите текстовое поле своего выражения
  2. В свойствах справа применитеправильная культура в свойстве "Language". Например, выберите "fr-CH", чтобы иметь значение 123'456, в противном случае по умолчанию используется значение 123 456 в качестве разделителя английского языка.
4 голосов
/ 22 марта 2011

Попробуйте это. Это отформатирует ваше значение к правильному количеству десятичных знаков.

=format(1212.89,"€#,#.00")
2 голосов
/ 07 июля 2013

Для индийской валюты в качестве значения поля используйте например = Format (Fields! ServiceTaxAmt.Value, "##, ##, ##, ###. 00") и измените значение языка на hi-in для отчета. свойство.

1 голос
/ 21 января 2016

Это работает правильно с [установить язык как hi-IN и отформатировать как "##, ##, ##, ###. 00"]

Цените ваши усилия

Также того же можно достичь, выполнив шаги

  1. Перейти к свойствам текстового поля
  2. Выберите категорию номера на вкладке номера
  3. Установите флажок рядом с [Использовать разделитель 1000 (,)]
  4. Нажмите Ok
1 голос
/ 25 августа 2014

Вы можете использовать формат € #, 0,00 и установить язык отчета как de-DE, щелкнув за пределами области отчета и в правой панели свойств перейдите в Локализация -> Язык.

...