Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I use a percent % in FormatString without it multiplying by 100?

I would like to format an integer as a percent without it multiplying by 100 as shown here. Because my source is an int, dividing it first by 100 is not a valid option. Is this possible?

[DisplayFormat(DataFormatString = "{0:#%}")] 
like image 758
Keith Adler Avatar asked May 12 '11 20:05

Keith Adler


1 Answers

You can escape the % character:

[DisplayFormat(DataFormatString = @"{0:#\%}")] 

Note that there are two ways to use \ as an escape character: if you prefix a string literal with the verbatim symbol (@), then \ characters are included in the string as-is, which means that as part of a format string a single \ will function as an escape character.

Without the @ verbatim symbol, \s are interpreted as escape strings by the compiler and as such need to be escaped themselves, as \\.

Pick one or the other, but not both:

@"{0:#\%}"  -> right "{0:#\\%}"  -> right @"{0:#\\%}" -> wrong 
like image 162
Dan Tao Avatar answered Sep 23 '22 17:09

Dan Tao