Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

format number in ssrs report

argh!

Can't stand it that i can't figure it out myself....

i've used this in the formatting of a number in my report:

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

and that formats to € 1,212.89

which is not exactly what i want, because i want € 1.212,89 regardless of the regional setting of the server.

So i tried this

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

but that gives me this: 1.212.890

Typing this i realize that i don't know what the # and the . and the , mean in the format string.....

like image 377
Michel Avatar asked Mar 22 '11 08:03

Michel


2 Answers

You can find the definition of the comma and period dynamic behavior here: http://msdn.microsoft.com/en-us/library/0c899ak8.aspx

I think the best way to reliably get what you want is to hard code a locale into the expression for this field.

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

This will always use the comma as decimal, and period as millions, thousands &c.

There are ways to be more dynamic and always return in the clients local set format, that would usually be preferable.

like image 119
Jamie F Avatar answered Oct 11 '22 22:10

Jamie F


I know this is an old thread, but in case someone needs it, there is an easiest and most proper way to do it :

  1. Right click on the Textbox of your expression
  2. Select "Number" in the popup "Text Box Properties"
  3. In the "Category", select "Number"
  4. Tick the "Use 1000 separator
  5. Click OK

To "customize" your '1000 separator':

  1. Select the Textbox of your expression
  2. In the Properties on the right, apply the right culture in the "Language" property. E.g. Select "fr-CH" to have 123'456 otherwise the default is 123,456 as English separator.
like image 43
pti_jul Avatar answered Oct 11 '22 22:10

pti_jul