2011-03-22 4 views
7

argh!номер формата в отчете ssrs

не может выдержать это, что я не могу понять это сам ....

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

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

и что форматы до € 1,212.89

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

Так я попробовал этот

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

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

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

ответ

7

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

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

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

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

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

+0

Это также работает в ssrs? – Michel

+0

Да. Я скопировал и вставил этот код из текстового окна SSRS (разработанного в BIDS, а не для создателя отчетов.) Если вы используете это множество мест, вы должны использовать кусок встроенного кода. –

+0

Вы, сэр, являетесь героем. Благодаря @JamieF – Eon

3

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

=format(1212.89,"€#,#.00") 
+1

это работает (дает мне 1212.89). Но я хочу, чтобы десятичный и тысячный разделители переключались. Поэтому я пробовал это: = format (1212.89, «€ #. #, 00»), который дает мне .... 1212.890 – Michel

+0

Период в строке формата превратится в десятичный разделитель для того, (это может быть пользовательский язык или локаль сервера, в зависимости от настроек.) Запятая в формате превратится в разделитель тысяч для одного и того же языка. вы можете принудительно использовать буквенную запятую с пропущенной запятой («\»), но это все равно будет болью, чтобы попасть в нужные места, особенно потому, что вам может понадобиться она в миллионах и тысячах мест. –

1

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

0

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

0

Правильно работает с [set Language as hi-IN и Format as "##, ##, ##, ###.00" ]

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

Кроме того же можно достичь с помощью следующих шагов

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

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

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

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

  1. Выберите Textbox вашего выражения
  2. В свойствах справа, применить правильную культуру в собственности «Language». . Выберите «fr-CH», чтобы иметь 123'456, в противном случае значение по умолчанию - 123,456 в качестве английского разделителя.
Смежные вопросы